linux:email:amavisd:operation

emails aus der Quarantäne releasen:

Wenn AMaViSd emails in die Quarantäne verschiebt, erhält man emails dieser Form:

Betreff: BANNED contents (text/x-msdos-batch,.asc,bacula_after_failure.cmd) in mail FROM LOCAL 

[...]

No viruses were found.

Banned name: text/x-msdos-batch,.asc,bacula_after_failure.cmd
Content type: Banned
Internal reference code for the message is 11606-02/IJvAMUUAzNma

[...]

The message has been quarantined as: I/banned-IJvAMUUAzNma

The message WAS NOT relayed to:
<test@test.de>:
   554 5.7.0 Reject, id=11606-02 - BANNED: text/x-msdos-batch,.asc,bacula_after_failure.cmd


Um diese email freizugeben (zu „releasen“), muss der Pfad nach „quarantined as:“ und ggf. eine Empfaenger-email-Adresse dem Programm amavisd-release mitgegeben werden - an sonsten wird die email an den ursprünglichen Empfänger zugestellt:

amavisd-release I/banned-IJvAMUUAzNma christoph.haas@haas-online.org


Das amavisd-release utility akzeptiert auch mail_ids von STDIN. Dies ist insbesondere dann praktisch, wenn mehrere emails aus der Quarantäne released werden sollen:

$ amavisd-release -
I/banned-IJvAMUUAzNma
S/banned-SsvUgj4PvOTB



Quarantäne clean-up cronjob

Um die Quarantäne regelmässig aufzuräumen, kann eine Ergänzung des AMaViSd-Cronjobs /etc/cron.d/amavisd-new um einen weiteren Cronjob /etc/cron.d/amavisd-new-cleanup-quarantaine helfen:

# Cleanup AMaViSd-quarantine for files older than 31 days:
#10 1 	* * * 	root 	find /var/lib/amavis/virusmails/ -mtime +31 -exec rm {} \;
#15 1 	* * * 	root 	find /var/lib/amavis/tmp/ -mtime +31 -exec rm -r {} \;
# oder:
# 15 1 	* * * 	root 	find /var/lib/amavis/ -iname "amavis-*" -mtime +31 -exec rm -r {} \;
# oder:
10 1 	* * * 	root 	find /var/lib/amavis/virusmails/ -mtime +31 -print0 | xargs -0 --no-run-if-empty /bin/rm -f
15 1 	* * * 	root 	find /var/lib/amavis/ -iname "amavis-*" -mtime +31 -print0 | xargs -0 --no-run-if-empty /bin/rm -f


-print0 terminiert die Ausgabe durch den ASCII-Wert Null
xargs -0 trennt die Ausgaben durch den ASCII-Wert Null
Vorteil: man kann auch Datei- und Verzeichnisnamen verwenden, die durch Leerzeichen (Space) getrennt sind.

Bei Debian kann man temporäre amavis-* Verzeichnisse einfach durch den Neustart von amavis mit 'service amavis restart' oder '/etc/init.d/amavis restart' löschen.
Das init-script beherbergt Code um diese temporären Verzeichnisse aufzuräumen:

cleanup() {

      [ -d /var/lib/amavis ] && 
        find /var/lib/amavis -maxdepth 1 -name 'amavis-*' -type d \
              -exec rm -rf "{}" \; >/dev/null 2>&1 || true
      [ -d /var/lib/amavis/tmp ] && 
        find /var/lib/amavis/tmp -maxdepth 1 -name 'amavis-*' -type d \
              -exec rm -rf "{}" \; >/dev/null 2>&1 || true
      :

}



zurück

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • linux/email/amavisd/operation.txt
  • Zuletzt geändert: 2017-04-25 14:53
  • von 127.0.0.1