Cyrus legt per default seine eMail ab: /var/spool/cyrus/mail/
Quelle1)
Hetzner-Server Mailserver einrichten
Die Anleitung ist in einem Punkt ungenau: Es fehlt ein
apt-get install spamc
bei den Spamassasin-Installationen. Daher bekam ich Fehlermeldungen, dass die Date /usr/bin/spamc
nicht vorhanden ist.
Postfix statt sendmail. Das Kommando 'sendmail' ist von postfix und dient der Kompatibilität
Aus obiger Anleitung. Quelle 2)
~$ cd /etc/ssl/certs/ ~$ openssl req -new -x509 -keyout smtps.pem -out smtps.pem -days 365 -nodes ~$ chgrp postfix smtps.pem ~$ cp smtps.pem cyrus.pem ~$ chown cyrus:mail cyrus.pem ~$ chmod 640 smtps.pem cyrus.pem
Ganz wichtig:
Common Name (eg, YOUR name) []: SERVERNAME.TLD
Übrige Daten für das selbstsignierte Zertifikat sind beliebig.
Mailversand/Empfang ging nicht. Hat mich 1,5 Tage gekostet:
/var/log/mail.log zeigt beim Versand/Empfang immer so was wie:
Nov 12 10:45:12 www postfix/qmgr[5788]: DA01637ED1B1: to=<gepi@gmx.net>, relay=none, delay=0.07, delays=0.05/0.02/0/0, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]: Connection refused)
Geht also immer ins lokale Netz, obwohl die Nachricht für Außerhalb gedacht ist.
die /etc/postfix/master.cf und main.cf hab ich durchsucht und mich auch sonst genau an die Hetzner-Anleitung gehalten.
Hab schon früh vermutet, dass es an der Übergabe einer der drei Filterkomponenten Spamassassin, Postgrey oder ClamAV liegt.
SA und Postgrey genau durchsucht und scheint alles ok. Schließlich war ich beim ClamAV. Habe folgende Zeilen aus der /etc/postfix/master.cf
auskommentiert:
# Antivirus # AV scan filter (used by content_filter) #scan unix - - n - 16 smtp # -o smtp_send_xforward_command=yes cyrus unix - n n - - pipe flags= user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m ${extension} ${user} # Spamassassin spamassassin unix - n n - - pipe user=nobody argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} # For injecting mail back into postfix from the filter #127.0.0.1:10025 inet n - n - 16 smtpd # -o content_filter= # -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks # -o smtpd_helo_restrictions= # -o smtpd_client_restrictions= # -o smtpd_sender_restrictions= # -o smtpd_recipient_restrictions=permit_mynetworks,reject # -o mynetworks_style=host # -o smtpd_authorized_xforward_hosts=127.0.0.0/8
Es geht! Jubel, jubel, freu, freu!
Wenn Du das manuell anstossen möchtest :
# postqueue -f
Anzeigen der hängenden Mails:
# postqueue -p
Problem: bekomme solche Meldungen in /var/log/mail.err
Nov 11 19:43:18 www spamd[2622]: mkdir /nonexistent/.spamassassin: Permission denied at /usr/share/perl5/Mail/SpamAssassin.pm line 1530 Nov 11 19:43:18 www spamd[2622]: mkdir /nonexistent/.spamassassin: Permission denied at /usr/share/perl5/Mail/SpamAssassin.pm line 1530 Nov 11 19:43:18 www spamd[2622]: locker: safe_lock: cannot create tmp lockfile /nonexistent/.spamassassin/auto-whitelist.lock.www.foto-und-kind.de.2622 for /nonexistent/.spamassassin/auto-whitelist.lock: No such file or directory Nov 11 19:43:18 www spamd[2622]: bayes: locker: safe_lock: cannot create tmp lockfile /etc/spamassassin/bayes.lock.www.foto-und-kind.de.2622 for /etc/spamassassin/bayes.lock: Permission denied
Quelle3)
Package: spamassassin Version: 3.1.7-2 Severity: normal
When using spamd child processes run as 'nobody' users who has no home dir. That causes a permission denied error in creation of bayesian filtering files, as explained here for instance:
http://lists.debian.org/debian-user/2007/01/msg03725.html
Adding something like:
--virtual-config-dir=/var/cache/spamassassin
to OPTIONS in /etc/default/spamassassin with nobody owning that dir would be appropriate. It would be better also creating a system spamd user with appropriate home and shell, instead of using nobody.