Mai
24
2008
Wer als Mailserver qmail einsetzt hat meistens das Problem, dass qmail seit 1998 nicht mehr aktiv weiter entwickelt worden ist.
Daher fehlen alle modernen Schnittstellen zu dritt Programmen wie Sie von Postfix oder Exim angeboten werden.
Eine der einfachsten Möglichkeiten trotzdem E-Mails die von qmail angenommen werden, von Spamassassin prüfen zu lassen ist der Einsatz des Shell Scripts ifspamh
Dieses kann entweder in der Datei .qmail-default die für eine gesamte Domain gilt oder in der Postfach spezifischen Datei .qmail des Users gemacht werden.
Die aktuellste Version von ifspamh findet man unter folgendem Link
Nachdem man ifspamh herunter geladen und ausführbar gemacht hat, ist nichts weiter nötig als die Pfade im Script anzupassen.
Meistens sind jedoch die Defaults auf Anhieb richtig:
# spamc - client location
SPAMC=/usr/local/bin/spamc
# qmail's forward program location
FORWARDBIN=/var/qmail/bin/forward
# mess822 822field location
M822FIELD=/usr/local/bin/822field
Anschließend kann man die .qmail-default oder .qmail Dateien so ergänzen, dass bei jeder eingehenden E-Mail ifspamh aufgerufen wird. 2 Möglichkeiten sind von Grund auf möglich:
1. Alle als Spam deklarierten Nachrichten werden gelöscht
Aufruf in den o.g. Dateien:
2. Alle als Spam deklarierten E-Mails werden an ein s.g. “Spampostfach” weitergeleitet
|/pfad/zu/ifspamh email@adresse.tld
Mai
18
2008
In diesem Beitrag möchte ich grundlegende Kommandos zum löschen, bearbeiten und auswerten der exim E-Mail Queue aufzeigen.
Die meisten Aufrufe und Befehle basieren auf einem Aufruf des “exim” Binarys das bei gewissen Parametern root-Rechte erfordert.
exim -bp
Queue anzeigen lassen
exim -q
Queue abarbeiten
exim -bpc
Anzahl der queued Messages anzeigen lassen
exim -Mt
Versenden von “Frozen” E-Mails
exim -bp | awk ‘/frozen/{print $3}’ | xargs exim -Mrm
Löschen allen Frozen E-Mails
exim -Mrm [msgid]
Einzelne E-Mail löschen
exim -bp | grep ‘[0-9][0-9]d ‘ | awk ‘{print $3}’ | xargs exim -Mrm
E-Mails in der Queue löschen die >= 10 Tage alt sind
Mai
09
2008
Um sich an einem SMTP Anzumelden gibt es 2 weit verbreitete Verfahren:
POP-Before-SMTP und SMTP_AUTH
Da POP-Before-SMTP einige Nachteile mit sich bringt, möchte ich hier kurz erklären wie man Postfix dazu bringt SMTP Authentifizierung anzubieten. Die Schnittstelle hierzu ist der SASL Server.
1. Installation der Pakete
apt-get install postfix-tls sasl2-bin libsasl2 libsasl2-modules
2. Konfiguration von SASL /etc/default/saslauthd
START=yes
MECHANISMS="pam"
3. Anlegen der Steuerdatei /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
autotransition: true
4. Konfiguration von Postfix
Der nächste Schritt ist abhängig davon ob Postfix im chroot laufen soll oder nicht. Dies entscheidet sich in der Datei /etc/postfix/master.cf in einer Zeile:
smtp inet n - - - - smtpd # Postfix SMTP ist in einem chroot
smtp inet n - n - - smtpd # Postfix SMTP ist nicht in einem chroot
Fall 1 - Wenn Postfix im chroot laufen soll:
rm -r /var/run/saslauthd
mkdir -p /var/spool/postfix/var/run/saslauthd
cd /var/run/
ln -s /var/spool/postfix/var/run/saslauthd saslauthd
chgrp sasl /var/spool/postfix/var/run/saslauthd
chgrp sasl /var/run/saslauthd
adduser postfix sasl
Anpassen der Konfiguration /etc/postfix/main.cf
### SMTP Auth ###
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_authenticated_header = yes
Überall wo es wichtig ist “permit_sasl_authenticated” hinzufügen. z.B.:
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
Fall 2 - Wenn Postfix nicht im Chroot laufen soll
Anschließend anpassen der Datei /etc/postfix/main.cf wie oben genannt.
5. Restart der Dienste
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
Anschließend sollte Postfix SMTP-AUTH mittels SASL verstehen und die Passwörter vom Client richtig verarbeiten und diesem zum Versand authentifizieren.