Inhaltsverzeichnis

Mailserver

Cyrus legt per default seine eMail ab: /var/spool/cyrus/mail/

Postfix main.cf

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

SSL Zertifikate für Postfix (SMTPs), Cyrus IMAPs & POPs, erzeugen

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.

Fehler mit dem ClamAV

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!

Postfix einrichten

http://www.tuxfutter.de/wiki/Einrichten_eines_Mailservers_mit_Postfix

Mails hängen

Wenn Du das manuell anstossen möchtest :

 # postqueue -f

Anzeigen der hängenden Mails:

 # postqueue -p

Probleme mit Spamassassin

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.