#!/bin/sh # # Should be run by the Local Delivery Agent # Expects USER and HOME to be set as an environment variable # SCRIPT_NAME="quota-warning" MAIL_TO="${USER}" MAIL_FROM="postmaster@charite.de" MAIL_QUOTA_PERCENT=$1 MAIL_SUBJECT="Ihre Mailbox ist zu "$1"% voll!" DIR_MAILDIR_NEW="${HOME}/Maildir/new" DIR_MAILDIR_TMP="${HOME}/Maildir/tmp" BIN_CAT="/bin/cat" BIN_DATE="/bin/date" BIN_HOSTNAME="/bin/hostname" BIN_LOGGER="/usr/bin/logger" BIN_MV="/bin/mv" BIN_STAT="/usr/bin/stat" #set -x # check for user [ "x${MAIL_TO}" = "x" ] && \ ${BIN_LOGGER} -p mail.error -t "${SCRIPT_NAME}" \ "error=no user set" && exit 1 # check for home directory [ "x${HOME}" = "x" ] && \ ${BIN_LOGGER} -p mail.error -t "${SCRIPT_NAME}(${MAIL_TO})" \ "no home directory set" && exit 1 # check for directories [ ! -d "${DIR_MAILDIR_NEW}" ] && \ ${BIN_LOGGER} -p mail.error -t "${SCRIPT_NAME}(${MAIL_TO})" \ "cannot find ${DIR_MAILDIR_NEW}" && exit 1 [ ! -d "${DIR_MAILDIR_TMP}" ] && \ ${BIN_LOGGER} -p mail.error -t "${SCRIPT_NAME}(${MAIL_TO})" \ "cannot find ${DIR_MAILDIR_TMP}" && exit 1 # set misc values HOSTNAME="`${BIN_HOSTNAME}`" # set mail value MAIL_DATE="`${BIN_DATE} '+%a, %d %b %Y %T %z (%Z)'`" MAIL_MESSAGE_ID="`${BIN_DATE} '+%Y%m%d%H%M%S'`@${HOSTNAME}" # set filename values FILE_DATE="`${BIN_DATE} '+%s'`" FILE_NAME="${FILE_DATE}.$$.${HOSTNAME}" FILE_TMP="${DIR_MAILDIR_TMP}/${FILE_NAME}" # write out message ${BIN_CAT} << EOF > ${FILE_TMP} To: ${MAIL_TO} From: ${MAIL_FROM} Subject: ${MAIL_SUBJECT} Message-Id: <${MAIL_MESSAGE_ID}> Date: ${MAIL_DATE} MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Was ist los? ============ Wir haben festgestellt, dass Ihre Mailbox auf dem Server postamt.charite.de das erlaubte Grössenlimit zu mindestens ${MAIL_QUOTA_PERCENT}% ausschöpft. D.h. die maximal erlaubte Gesamtgröße der Mailbox wird bald erreicht sein oder ist es sogar schon! Was kann ich nun tun? ===================== Bitte schaffen Sie Platz in Ihrer Mailbox, indem Sie die Mails z.B. auf dem Server löschen oder in Ihre lokale Mailbox auf Ihrem eigenen Rechner verschieben und so wieder Platz auf dem Server schaffen! Wie kann ich die Füllung meines Postfaches auf dem Server überprüfen? ===================================================================== Sie können die Füllung Ihres Postfaches über Webmail https://webmail.charite.de/ leicht überprüfen: Nach dem Anmelden erscheint im linken Rahmen unter Ihrer Ordnerliste ein Link namens "Ordnergrößen". Sie können in Webmail ggf. auch gleich die Mails löschen (vergessen Sie hinterher nicht, den Papierkorb / Trash Ordner zu leeren!). Warum ist mein Postfach überhaupt so voll? ========================================== Dies kann z.B. passieren, wenn Sie mehrere Rechner nutzen um Ihre Mail zu lesen und statt des IMAP Protokolls das POP3-Protokoll mit der aktivierten Option "Leave Mail on Server" / "Mail auf Server belassen" in Ihrem Mailprogramm verwenden. Oft wird auch vergessen, daß der Ordner mit den "Gesendeten Objekten" (Sent Folder/Sent Items) zum Größenlimit der Mailbox zählen. Besondere Platzfresser sind Mails mit großen Anhängen, wie z.B. PowerPoint-, PDF- oder Bilddateien -- insbesondere im "Sent" Ordner! Wer sind meine Ansprechpartner? =============================== Sie können uns unter email-admin@charite.de oder telefonisch unter 450-570600 erreichen. Mit freundlichen Grüßen EOF [ "$?" -gt 0 ] && \ ${BIN_LOGGER} -p mail.error -t "${SCRIPT_NAME}(${MAIL_TO})" \ "writing message to ${FILE_TMP} failed" && exit 1 # set more filename values FILE_SIZE="`${BIN_STAT} --printf='%s' ${FILE_TMP}`" FILE_NEW="${DIR_MAILDIR_NEW}/${FILE_NAME},S=${FILE_SIZE}" # deliver message ${BIN_MV} ${FILE_TMP} ${FILE_NEW} [ "$?" -gt 0 ] && \ ${BIN_LOGGER} -p mail.error -t "${SCRIPT_NAME}(${MAIL_TO})" \ "delivering message to ${FILE_NEW} failed" && exit 1 # log warning attempt ${BIN_LOGGER} -p mail.info -t "${SCRIPT_NAME}(${MAIL_TO}) ${MAIL_QUOTA_PERCENT}%" "delivered to ${FILE_NEW}"