File: /usr/sbin/quota-warning.sh
#!/bin/sh
# system
BIN_CAT="/bin/cat"
BIN_DATE="/bin/date"
BIN_SED="/usr/bin/sed"
BIN_HOSTNAME="/bin/hostname"
BIN_LDA="/usr/iports/libexec/dovecot/dovecot-lda"
# set misc values
MAIL_HOSTNAME="`${BIN_HOSTNAME}`"
MAIL_QUOTA_PERCENT=$1
MAIL_TO=$2
MAIL_DOMAIN="`echo ${MAIL_TO} | sed 's/[^@]*@\(.*\)/\1/'`"
MAIL_LOCALFROM="`/usr/bin/head -n1 /etc/mail/quotafrom | /usr/bin/tr -cd '[[:alnum:]]._-@<>'`"
if [ -z "${MAIL_LOCALFROM}" ]; then
MAIL_FROM="Mailserver Warning <mailserver@${MAIL_DOMAIN}>"
else
MAIL_FROM=${MAIL_LOCALFROM}
fi
MAIL_SUBJECT="Ihre Mailbox ist zu "${MAIL_QUOTA_PERCENT}"% voll!"
# 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'`@${MAIL_HOSTNAME}.han-solo.net"
MAIL_BODY="`${BIN_SED} -e \"s/MAIL_DOMAIN/${MAIL_DOMAIN}/g\" -e \"s/MAIL_QUOTA_PERCENT/${MAIL_QUOTA_PERCENT}/g\" -e \"s/MAIL_HOSTNAME/${MAIL_HOSTNAME}/g\" -e \"s/MAIL_SUBJECT/${MAIL_SUBJECT}/g\" -e \"s/MAIL_FROM/${MAIL_FROM}/g\" /etc/mail/quotamessage`"
# write/send out message
if [ -n "${MAIL_BODY}" ]; then
${BIN_CAT} << EOF | ${BIN_LDA} -d ${MAIL_TO} -o "plugin/quota=maildir:User quota:noenforcing"
To: ${MAIL_TO}
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
${MAIL_BODY}
EOF
else
${BIN_CAT} << EOF | ${BIN_LDA} -d ${MAIL_TO} -o "plugin/quota=maildir:User quota:noenforcing"
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
Sehr geehrte Kundin, sehr geehrter Kunde,
wir haben festgestellt, dass Ihre Mailbox auf dem Server ${MAIL_DOMAIN} das eingestellte 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! Sie können dann keine eMails mehr empfangen.
Was können Sie nun tun?
=======================
Bitte schaffen Sie Platz in Ihrer Mailbox, indem Sie z.B. die Mails auf dem Server löschen oder in Ihre lokale Mailbox auf Ihrem eigenen Rechner verschieben und so wieder Platz auf dem Server schaffen!
Sie können auch die Größe Ihrer Mailbox erhöhen, wenn Ihr Server selbst noch über genug Platz verfügt.
Wie kann ich die Füllung meines Postfaches auf dem Server überprüfen?
=====================================================================
Sie können die Füllung Ihres Postfaches über Ihr Administrationstool
https://${MAIL_DOMAIN}/domainadmin
leicht überprüfen: Nach dem Anmelden erscheint im Hauptmenü ein Link namens "Quotanutzung". Dort sehen Sie alle Werte und können diese für einzelne User auch editieren.
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 kann mir weiterhelfen?
==========================
Bei weiteren Fragen wenden Sie sich bitte an Ihren Server-Anbieter.
EOF
fi
exit 0