Mail-Server » Qmail

ID #1106 Qmail: Beim Mail-Versand dauert die Verbindung 30-60 Sekunden

Problem:

Beim Versand mit Thunderbird (oder auch Outlook) dauert die Verbindung mit dem Mail-Server auch bei kleinen Emails sehr lange.

Erläuterung:

Die SMTP-Verbindung nimmt der Server über xinetd an. Dieser reicht es dann an tcp-env weiter, der versucht, mehr Informationen aus der Connection zu erhalten. Dazu gehört u.a. eine Reverse-DNS-Auflösung der IP. Wenn der DNS-Server nicht reagiert oder die resolve.conf nicht korrekt ist, so kann es hierbei bis zu einem Timeout dauern, bis die Connection endlich an Qmail weiter gegeben wird.

Lösung:
In den Dateien /etc/xinetd.d/smtp_psa und /etc/xinetd.d/smtps_psa muß der Parameter -Rt0 eingesetzt werden:

server_args     = -Rt0 /var/qmail/bin/relaylock [...]

Wer inetd installiert hat setzt den Parameter -Rt0 einfach nach .../tcp-env in den Zeilen von smtp und smtps in der Datei /etc/inetd.conf. (Bitte die Leerzeichen beachten.)

Selbstverständlich muß nach der Änderung der (x)inetd neu gestartet werden.

Obacht:
Plesk schreibt hin und wieder seine (x)inetd-Einträge neu. Wann und warum ist mir bisher noch unbekannt. Wer aber z.B. Tripwire oder ähnliche Dateiprüfer nutzt, wird dies aber mitgeteilt bekommen.

Erweiterung:

Bei manchen Installationen gibt es hier auch noch ein rbldns-Programm, welches eingehende IPs auf bekannte 'Spammer-IPs' prüft. Auch dieses Programm braucht seine Zeit.

Update:
SWsoft weist bei Debian-Installationen darauf hin, xinetd zu installieren, da der veraltete inetd bei qmail Connection-Probleme bereitet.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2006-05-16 12:52     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

Rubriken zu diesem Artikel
überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   5 von 5 (7 Bewertungen)

Artikel kommentieren

Kommentar von dejaspeed (2038-01-19 04:14:07):
super , hat funktioniert

Kommentar von dermasel (2007-01-20 19:53:41):
Hey, danke für den Tip! Hat sofort funktioniert!

Kommentar von Benjamin Meier (2007-01-27 15:49:08):
Meine Anmerkung: Wenn man bei dem MAPS-Spamschutz in Plesk (alte?) MAPS-Listen angibt, die nicht auflösbar sind, tritt das gleiche Phänomen auf. Einfach hin und wieder überprüfen, ob die Listen noch aktuell sind.

Gruß Benjamin

Kommentar von majong (2007-03-21 21:51:50):
Ja das hat gut geklappt. Aber leider nur bei unverschlüsselten Verbindungen zum SMTP-Server. Bei verwendung von SSL oder TLS ist die Wartezeit trotz Bearbeitung der Datei psa_smtps unverändert langsam. Wie kommt das denn?

Kommentar von Micha (2007-06-20 12:15:47):
Was machen diese Parameter denn genau?

Kommentar von Ruben (2007-10-23 23:13:54):
@micha:

dieser bewirkt, dass keine ident-Abfragen gemacht werden:

http://de.wikipedia.org/wiki/Ident

Kommentar von neutron (2008-04-06 11:39:48):
Hi,

Wann und Warum Plesk (x)inetd Einträge neu schreibt hab ich mal untersucht. Auf jeden Fall immer dann wenn man in Plesk unter Server->E-Mail irgendeine Einstellung verändert. Das script was dieses erledigt ist "/opt/psa/admin/sbin/rblmng.sh".

Folgendes findet man ab Zeile 871:

case "$rbl_on" in
on)
smtp_rec="smtp stream tcp nowait$maxconn root $QMAIL_ROOT_D/bin/tcp-env tcp-env $RBLSMTPD $rbl_server $QMAIL_ROOT_D/bin/relaylock $QMAIL_ROOT_D/bin/qmail-smtpd $QMAIL_ROOT_D/bin/smtp_auth $QMAIL_ROOT_D/bin/true $QMAIL_ROOT_D/bin/cmd5checkpw $QMAIL_ROOT_D/bin/true"
smtps_rec="smtps stream tcp nowait$maxconn root $QMAIL_ROOT_D/bin/tcp-env tcp-env $RBLSMTPD $rbl_server $QMAIL_ROOT_D/bin/relaylock $QMAIL_ROOT_D/bin/qmail-smtpd $QMAIL_ROOT_D/bin/smtp_auth $QMAIL_ROOT_D/bin/true $QMAIL_ROOT_D/bin/cmd5checkpw $QMAIL_ROOT_D/bin/true"
;;
*)
smtp_rec="smtp stream tcp nowait$maxconn root $QMAIL_ROOT_D/bin/tcp-env tcp-env $QMAIL_ROOT_D/bin/relaylock $QMAIL_ROOT_D/bin/qmail-smtpd $QMAIL_ROOT_D/bin/smtp_auth $QMAIL_ROOT_D/bin/true $QMAIL_ROOT_D/bin/cmd5checkpw $QMAIL_ROOT_D/bin/true"
smtps_rec="smtps stream tcp nowait$maxconn root $QMAIL_ROOT_D/bin/tcp-env tcp-env $QMAIL_ROOT_D/bin/relaylock $QMAIL_ROOT_D/bin/qmail-smtpd $QMAIL_ROOT_D/bin/smtp_auth $QMAIL_ROOT_D/bin/true $QMAIL_ROOT_D/bin/cmd5checkpw $QMAIL_ROOT_D/bin/true"
;;
esac

Einfach entsprechend hinter /tcp-env tcp-env das -Rt0 einfügen. Nun wird bei jeder Änderung unter Plesk das -Rt0 Paramter automatisch mit eingefügt.

Kommentar von micha17 (2008-08-18 18:41:58):
Leider funktioniert das bei mir auch nicht. habe einen vserver ubuntu bei hosteurope mit plesk 8.4.0 und seit dem update zickt qmail wieder rum.

sauberer wäre es wohl, wenn man die resolve.conf korrigiert, oder übersehe ich da etwas ?

Kommentar von Daniel (2010-02-02 09:18:40):
Guter Tipp,

habe aber gemerkt, dass in meiner inetd.conf in den Zeilen mit
.../tcp-env tcp-env ...
die Option -Rt0 hinter dem zweiten tcp-env gesetzt werden muss, damit es funktioniert.

Danke!