Suche


drucken PDF

E-Mail-Server: Probleme und Lösungen


Auf den dedizierten Servern von OVH ist der E-Mail-Server qmail bereits vorinstalliert (http://www.qmail.org).

Qmail ist mit folgenden Patches versehen:

  • Tls Patch um SSL-verschlüsselte Mails versenden zu können
  • Spamcontrol Patch


Bevor wir beginnen:


Ein E-Mail-Server ist ein Programm dessen Aufgabe es ist, E-Mails auf dem port 25 über das SMTP-Protokoll zu empfangen. Um zu erfahren wie das SMTP-Protokoll funktioniert können Sie hier die RFC dazu nachlesen: http://www.ietf.org/rfc/rfc0821.txt

Hier ein Beispiel für SMTP-Kommunikation auf Port 25:

$ telnet mx3.ovh.net 25 Resolution du mx3.ovh.net
Trying 213.186.33.73...
Connected to mx3.ovh.net.
Escape character is '^]'.
220 Welcome ! You are on server 8 called mx3.ovh.net, spam protected: www.spam-rbl.com ESMTP
HELO ping.ovh.net -> Wir stellen uns vor
250 Welcome ! You are on server 8 called mx3.ovh.net, spam protected: www.spam-rbl.com
MAIL FROM: -> Wer hat die Mail verschickt?
250 ok
RCPT TO: -> An wen soll die Mail gesendet werden?
250 ok
DATA
354 go ahead
-> Der Body der Mail wird getestet. Normalerweise müssen die Felder FROM, TO, SUBJECT vorhanden sein.
.
250 ok 1065864990 qp 27338
QUIT -> Verlassen
221 Welcome ! You are on server 8 called mx3.ovh.net, spam protected: www.spam-rbl.com
Connection closed by foreign host.


Anmerkungen:

  • Die E-Mail wurde vom Server mx3.ovh.net angenommen. Warum? Entweder weil die IP von der aus die Verbindung hergestellt wurde, in diesem Fall also ping.ovh.net 213.186.33.13, einen relay der E-Mails über mx3.ovh.net erlaubt oder weil mx3.ovh.net einfach der MX Server von OVH ist.

  • Die Informationen in DATA müssen normalerweise die E-Mail selbst sein, das heisst die Form einer E-Mail haben:

From: oles@ovh.net
To: oles@ovh.net
Subject: test

test



Relay:


Die einfachste Funktion eines E-Mail-Servers ist relay (Weiterleitung), die daraus besteht:

  • Die E-Mail anzunehmen, also 250 ok nach RCPT TO zu antworten
  • Die E-Mail in den Spool oder die Queue einzureihen
  • Die E-Mail an den MX Server des Empfängers weiterzuleiten.

Ein SMTP-Server wird sich dann um die Verteilung der E-Mails ins Internet kümmern.

Die Internetprovider verfügen über solche Server; jeder SMTP-Server kann auch E-Mails verteilen.

Der erste Schritt wurde im Abschnitt "Bevor wir beginnen" vorgestellt: er besteht einfach daraus, die E-Mail anzunehmen. Das Problem wird komplex wenn die im Folgenden vorgestellte Filterung von Spam hinzukommt.

Der Prozess qmail-smtp übernimmt diese Funktion. Seine Aufgabe ist: mit Hilfe des SMTP-Protokolls kommunizieren und die E-Mails in Form einer Datei auf der Festplatte ablegen.

Der zweite Schritt besteht daraus, die E-Mail auf der Festplatte zu speichern. Um den Zustand des spools zu sehen:

# /var/qmail/bin/qmail-qstat
queue
messages in queue: 360
messages in queue but not yet preprocessed: 0


Dies bedeutet daß sich auf dem Server 360 E-Mails befinden die der Server bereits ein Mal versenden wollte, aber entweder existieren die Empfänger nicht oder der MX Server der Empfänger funktioniert nicht richtig.

Man muss auch wissen daß es oft Probleme mit der Antwortzeit des relay-Servers gibt wenn sich viele E-Mails im spool befinden. Qmail wird sehr langsam, wenn sich mehr als 25000 Mails im spool befinden. In diesem Fall dauert die Vorbereitung der E-Mail immer länger und die Anzahl an "messages in queue but not yet preprocessed" steigt.

Um die E-Mails zu sehen:

# /var/qmail/bin/qmail-qread | grep remote | grep -v done
remote dr_adams@sm66.com
remote 66-2434019-directway.com?amysummers@trailerr.trailblazernews.com
remote 2245031-5-reply@msgbnc.tgtrewards.net
remote response@sleekzine.com
remote larhondabeirne@hushmail.com
[...]


Warum sind diese Mails da? Der Grund dafür kann sein:

  • Der relay-Server hat das relay (Weiterleitung) akzeptiert, aber der Empfänger RCPT TO existiert nicht
  • Der relay-Server hat das relay (Weiterleitung) akzeptiert, aber der MX Server des Empfängers existiert nicht
  • Der relay-Server hat das relay (Weiterleitung) akzeptiert, aber der MX Server des Empfängers funktioniert nicht
  • Der MX Server hat die E-Mail angenommen aber das lokale POP3-Konto existiert nicht und so wird versucht die Mail zum Absender mit Nennung des Fehlers zurückzuschicken aber:
  • Der Empfänger existiert nicht (MAIL FROM der ursprünglichen Mail)
  • Der MX Server des Empfängers existiert nicht.

qmail-send übernimmt die Verwaltung der Queue von qmail. Seine Aufgabe ist es die Dateien die qmail-smtp übergeben hat zu sichten und zu verteilen. Es hat dabei die Wahl zwischen local (lokaler) Zustellung (wenn der Empfänger sich auf der selben Maschine befindet, das heisst wenn der Server der MX Server der E-Mail ist und ein POP3/IMAP Konto existiert) oder remote (enfernt: die Mail an den Empfänger weiterleiten).

Der dritte Schritt besteht in der Zustellung der E-Mail an den Empfänger. Die E-Mail wird dem Spool entnommen um zu sehen wer der Empfänger ist. Qmail sucht die MX Server der Domain und verbindet sich mit Port 25 um die E-Mail zu versenden. Dieser Vorgang ist der gleiche wie am Anfang.

Es können mehrere MX Server mit gleicher oder unterschiedlicher Last in einer Domain vorhanden sein. In diesem fall versucht der SMTP Server zuerst, sich mit dem MX Server mit der geringsten Last zu verbinden. Wenn 2 MX die gleiche Last haben dann wird der der bei der DNS-Abfrage zuerst genannte verwendet.

Für mehr Informationen über auftretende Fehler lesen Sie bitte im Abschnitt "Fehler" dieser Hilfe nach.

Jede relay-Operation wird im Kopf der Mail (header) gespeichert. Man kann also sehen wer von welcher Adresse über welchen Server die E-Mail gesendet hat:

Delivered-To: ovh.net-60gp@ovh.net
Received: (qmail 15496 invoked by uid 505); 11 Oct 2003 09:22:30 -000
Received: from unknown (HELO 200-102-028-198.fnsce7005.dsl.brasiltelecom.net.br) (200.102.28.198)
by mx4.ovh.net with SMTP; 11 Oct 2003 09:22:28 -0000


Gelesen wird von Unten nach Oben. Man sieht daß die E-Mail von der IP 200.102.28.198 gekommen ist, die sich mit dem Server mx4.ovh.net verbunden hat und daß die Mail auf dem Account 60gp@ovh.net angekommen ist.

Für mehr Informationen über gefälschte Header lesen Sie bitte im Abschnitt "Spam" dieser Hilfe nach.

Um die Funktionsweise Ihres E-Mail-Servers zu verstehen können Sie sich dessen Logs ansehen. Standardmässig werden nur Logs für den dritten Schritt erstellt:

# tail -f /var/log/qmail/current
@400000003f87e06f3172d234 end msg 195408
@400000003f87e07005d90c24 delivery 3534821: deferral: Sorry,4_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/
@400000003f87e07005d91fac status: local 0/15 remote 1/120
@400000003f87e0740c22b274 new msg 195408
@400000003f87e0740c22be2c info msg 195408: bytes 1580 from qp 30987 uid 503
@400000003f87e0740c7fb6f4 starting delivery 3534823: msg 195408 to local hfifi-geefnie.com-studio@hiffi-gefenie.com
@400000003f87e0740c7fc694 status: local 1/15 remote 1/120
@400000003f87e0741c7b34d4 delivery 3534823: success: did_0+0+1/
@400000003f87e0741c7b4474 status: local 0/15 remote 1/120
@400000003f87e0741c7b485c end msg 195408


status: local 0/15 remote 1/120 bedeutet daß für die Verteilung spool -> local (die POP3 Konten) 0 von 15 Verbindungen von qmail verwendet werden und für spool -> remote (der 3. Schritt) 1 von 120 Verbindungen.

Achtung: Die Datei wird aktualisiert, das bedeutet daß wenn sie eine bestimmte Größe erreicht müssen Sie nochmal tail machen um die Logs zu erhalten.
Sie können auch den Befehl tail -F verwenden der die Datei wieder öffnet wenn sie aktualisiert wird.

Wer kann relayen?


Um die Funktion relay zu verwalten müssen die IP-Adressen der Benutzer verwaltet werden, die diese Funktion nutzen können. Wenn Sie allen IPs das relaying erlauben wird Ihr Server früher oder später als Relay für Spam genutzt und dann geblacklistet werden.

Um das relay zu verwalten haben Sie eine Datei /etc/tcp.smtp

# cat /etc/tcp.smtp
127.0.0.:allow,RELAYCLIENT=" "
:allow


Dies bedeutet daß:

  • Alle E-Mails die von der IP 127.0.0.X kommen werden relayed (weitergeleitet)
  • Alle E-Mails die von anderen IPs kommen werden nur angenommen, wenn der Empfänger auf der Maschine eingerichtet ist (siehe auch MX-Server).

Sie können also eine IP-Adresse Ihrer Wahl hinzufügen (wenn Sie zum Beispiel eine feste IP in Ihrer Firma oder DSL mit einer festen IP haben) und tcp.smtp kompilieren:

# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp


Die vorgenommenen Änderungen werden so in der Datei /etc/tcp.smtp.cdb abgelegt, die vom SMTP-Server verwendet wird. Sie müssen den SMTP-Server nicht neu starten, die Datei wird bei jeder SMTP Verbindung ausgelesen.

Bei den Providern werden IP-Klassen "hart" auf dem SMTP-Server eingerichtet; dies erlaubt es den Kunden der Provider, automatisch und ohne zusätzliche Konfiguration deren SMTP-Server für relay zu nutzen.

Die Option open-smtp oder pop-smtp besteht darin, den POP3/IMAP-Server zu nutzen um auf dem POP3-Server identifiziert zu werden. Die Tatsache daß ein Login mit Passwort verwendet wird lässt davon ausgehen, daß es ein bekannter Benutzer ist dem das relaying erlaubt werden kann. Während der POP3/IMAP Operation speichert der POP3-Server die IP-Adresse der verbindung, aktualisiert diese in /etc/tcp.smtp und kompiliert /etc/tcp.smtp.cdb.

# cd /etc/vpopmail/
# ls -l
total 696
-rw-r-r- 1 vpopmail vchkpw 25 fév 24 2003 inc_deps
-rw-r-r- 1 vpopmail vchkpw 32 fév 24 2003 lib_deps
-rw-r-r- 1 root root 700229 oct 11 13:22 open-smtp
-rw-r-r- 1 root root 0 oct 11 13:22 open-smtp.lock


Alle temporären IPs werden in open-smtp gespeichert:

# head -n 5 open-smtp
213.41.188.249:allow,RELAYCLIENT=" ",RBLSMTPD=" " 1029581749
213.41.184.98:allow,RELAYCLIENT=" ",RBLSMTPD=" " 1029782162
213.41.184.135:allow,RELAYCLIENT=" ",RBLSMTPD=" " 1029880909
213.41.186.107:allow,RELAYCLIENT=" ",RBLSMTPD=" " 1029960881
213.41.186.122:allow,RELAYCLIENT=" ",RBLSMTPD=" " 1030146813


Die letzte Zahl ist die Uhrzeit in Sekunden seit 1970 und erlaubt es zu sehen wann die IP zum letzten Mal POP3/IMAP verwendet hat. Dies wiederum erlaubt es dem Skript /home/vpopmail/bin/clearopensmtp alle IPs zu bestimmen, die älter als 3 Stunden sind, und diese dann aus der /etc/tcp.smtp zu entfernen.

# cat /etc/crontab
[...]
40 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 >/dev/null


Achtung: Der Benutzer muss spezifiziert werden, also muss dort stehen:

40 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 >/dev/null

und nicht:

40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 >/dev/null

In diesem fall sieht man auch daß auf der Maschine die Datei open-smtp sehr gross ist.

# wc -l open-smtp
11859 open-smtp


11859 IPs sind viel. Und der grund dafür ist daß kein Benutzer in crontab angegeben ist. Wir korrigieren den Fehler in crontab und führen clearopensmtp aus.

# ls -l open-smtp
-rw-r--r-- 1 root root 700229 oct 11 13:29 open-smtp
# /home/vpopmail/bin/clearopensmtp
# ls -l open-smtp
-rw-r--r-- 1 vpopmail vchkpw 529 oct 11 13:29 open-smtp
# wc -l open-smtp
9 open-smtp
# cp /etc/crontab /etc/crontab.OLD
# pico /etc/crontab
# /etc/rc.d/init.d/crond restart
Arrêt de crond : [ OK ]
Démarrage de crond : [ OK ]
# diff -u /etc/crontab.OLD /etc/crontab
- /etc/crontab.OLD Sat Oct 11 13:31:15 2003
+ /etc/crontab Sat Oct 11 13:31:24 2003
42 4 1 * * root run-parts /etc/cron.monthly
# vpopmail
-40 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 >/dev/null
+40 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 >/dev/null

So ist es besser. Die Berechtigungen von open-smtp wurden ebenfalls geändert. Das ist nicht schlimm.

Wenn Sie einen stark genutzten POP3/IMAP Server mit mehr als 3000-4000 Verbindungen/Stunde betreiben, dann raten wir Ihnen den OSD Patch (Open-SMTP-Dir) den Sie hier herunterladen können zu installieren. Dieser Patch wurde von OVH erstellt und besteht darin, nicht mehr die Datei open-smtp mit dem lock-System (blockieren von IPs) zu verwenden. Wenn sich viele Benutzer mit dem POP3/IMAP Server verbinden müssen Sie warten bis sie Zugang zur Datei bekommen um die IP zu speichern, was den Server abbremst. Anstelle dessen hatten wir die Idee, ein Verzeichnis zu verwenden in dem Dateien mit der IP als Namen und einer Grösse von 0 gespeichert werden. Bei jeder neuen Verbindung wird das Datum der Datei aktualisiert und ein tmpwatch löscht Dateien, die älter als 3 Stunden sind. Ein anderes Skript bringt /etc/tcp.smtp sekündlich auf den neuesten Stand.

Um zu verhindern daß man POP3 verwenden muss bevor man Mails versenden kann kann man qmail mit einem Patch für smtp-auth versehen. Dieser Patch erlaubt es den Login und das Passwort eines POP3-Accounts über eine SMTP-Verbindung zu senden und so den Versand von E_Mails zu ermöglichen:

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 Welcome ! You are on server 1 called mx1.ovh.net, spam protected: www.spam-rbl.com ESMTP
EHLO ping.ovh.net
250-Welcome ! You are on server 1 called mx1.ovh.net, spam protected: www.spam-rbl.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250-STARTTLS
250-8BITMIME
250 SIZE 10000000
AUTH LOGIN
334 VXNlcm5hbWU6
cG9zdG1gregreRlciVtbC5vdmgubmV0
334 UGFzc3dvcmQ6
errrob3Zo
235 ok, go ahead (#2.0.0)
MAIL FROM:
250 ok
RCPT TO:
250 ok
DATA
354 go ahead
truc
.
250 ok 1065758232 qp 5296
QUIT
221 Welcome ! You are on server 1 called mx1.ovh.net, spam protected: www.spam-rbl.com
Connection closed by foreign host.


Man sieht daß anstatt HELO EHLO verwendet wird; dies erlaubt es, die fortgeschrittenen ESMTP Befehle (diese werden hier beschrieben: http://www.ietf.org/rfc/rfc2821.txt) zu verwenden. Der Server antwortet auf ein EHLO mit allen Optionen die er unterstützt:

250-AUTH LOGIN CRAM-MD5 PLAIN Es handelt sich um smtp-auth
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING Definiert den typ des Dialogs
250-STARTTLS SSL oder TLS oder verschlüsselte Verbindung
250-8BITMIME Akzeptiert E-Mails in 8 bit und nicht in 7 bit wie SMTP
250 SIZE 10000000 Die maximale Größe einer E-Mail ist 10 MB


Der Login und das Passwort werdeen als base64 versendet. Es bringt nichts die verschickten Strings zurückzukonvertieren, diese sind dann falsch.

Die Installation dieses Patchs ist komplex und verwendet einige Tricks, auf die hier nicht näher eingegangen wird; Informationen dazu finden Sie auf unseren Hilfeseiten, im Forum und in den Mailing-Listen.

Sie können auch die IPs der Empfänger Server "hart" in der Konfiguration von qmail ablegen. Dies ist sehr nützlich wenn zum Beispiel der verwendete MX Server nicht immer zuverlässig erreichbar ist (beispiel.com). In diesem Fall kann man den Server anweisen einen speziellen SMTP-Server zu verwenden, dessen Aufgabe es ist die E-Mails für den nicht erreichbaren Server weiterzuleiten.

# cat /var/qmail/control/smtproutes
beispiel.com:213.186.33.9


So werden alle E-Mails an beispiel.com an 213.186.33.9 weitergeleitet, der sich um die Verteilung der Mails an beispiel.com kümmern wird. So wird verhindert daß der spool zu gross wird und die Maschine wird entlastet. Es muss natürlich sichergestellt sein daß 213.186.33.9 Mails von der Adresse von der relayed wird annimmt, aber wir vertrauen dem Admin daß er seine Server korrekt konfiguriert hat. NAch einer solchen Änderung ist kein Reboot nötig.

Der Prozess qmail-remote übernimmt es, die Server auf dem Port 25 zu verbinden und die Mails zu versenden.


MX Server:


Früher oder später kommen die E-Mails auf dem Ziel-MX-Server an, also dem Server der die Mails speichert bis sie per POP§ oder IMAP abgerufen werden. In diesem Fall akzeptiert der Server die E-Mail und macht genau das gleiche wie beim relay. Nur der dritte Schritt ändert sich.

Im dritten Schritt hat der Prozess qmail-sent festgestellt, daß der Empfänger auf dem Server existiert. qmail-sent kümmert sich im zweiten Schritt um die Verwaltung des spool. Es lädt also beim Start die Listen aller Domains die sich auf der Maschine befinden. Diese Listen befinden sich in:

# ls -l /var/qmail/users/assign
-rw-r--r-- 1 root root 24546 oct 9 10:32 /var/qmail/users/assign


Ändern Sie diese Dateien AUF KEINEN FALL von Hand! Sie haben eine bestimmte Form und es gibt immer eine Datei cdb die kompiliert werden muss.

# head -n 4 /var/qmail/users/assign
+00-00l0-00l00l-0-0.com-:00-00l0-00l00l-0-0.com:508:503:/home/vpopmail/domains/00-00l0-00l00l-0-0.com:-:: +00h01.com-:00h01.com:508:503:/home/vpopmail/domains/00h01.com:-::
+01emarket.com-:01emarket.com:508:503:/home/vpopmail/domains/01emarket.com:-::

Wenn sich also der Empfänger auf der Maschine befindet verwendet qmail-sent qmail-local um die Mail lokal ins richtige Verzeichnis zuzustellen. Darin muss es eine Datei .qmail-default finden in der sich vpopmail um die Verteilung der E-Mail (mitsamt dem ganzen System von Weiterleitungen, Alias, Mailing-Listen und POP3-Accounts mit Quota-Verwaltung).


MX Konfiguration:


Informationen dazu finden Sie hier: Die Verwaltung von vpopmail.


Qmail Parameter:



Maximale Grösse der Datei:


# echo "10000000" > /var/qmail/control/databytes

Alle E-Mails mit einer Grösse von mehr als 10 MB werden abgelehnt.

Zeit in der die E-Mail im spool gehalten wird:

# echo "846000" > /var/qmail/control/queuelifetime

Wenn die E-Mail 10 Tage lang im spool bleibt und dann noch nicht weitergeleitet wurde wird sie als Fehler an den postamster-Account der maschine gesendet. Wenn die Datei nicht existiert wird die E-Mail nach 5 tagen zurückgesandt.

E-Mails mit einem bestimmten MAIL FROM ablehnen:

# echo "spammer@spam" > /var/qmail/control/badmailfrom

Während des SMTP-Dialogs übermittelt der andere Server das MAIL FROM. Man kann bestimmte MAIL FROM ablehnen, was gewissen Spam oder Viren von festen Absendern fernhält.
Achtung: Dies hat nichts mit den Feldern From: To: Subject: der E-Mail zu tun.


Fehler:



Sorry, I wasn't able to establish an SMTP connection:


Ein Test einer Mail an dr_adams@sm66.com.
Wir befragen die DNS-Server um den MX zu erfahren:

# dig sm66.com mx

; <<>> DiG 9.2.1 <<>> sm66.com mx
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32527
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;sm66.com. IN MX

;; ANSWER SECTION:
sm66.com. 86400 IN MX 10 mail.sm66.com.

;; Query time: 396 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 11 12:09:00 2003
;; MSG SIZE rcvd: 47


Wenn Sie djbdnskönnen Sie auch direkt dnsmx nehmen.

# dnsmx sm66.com
10 mail.sm66.com


Der E-Mail-Server der alle E-Mails @sm66.com verwaltet ist also mail.sm66.com. Wir versuchen nun die Mail zu versenden:

# telnet mail.sm66.com 25
Trying 66.239.204.101...
Connected to mail.sm66.com.
Escape character is '^]'.
421 newd1.sm66.com out of connection slots
Connection closed by foreign host.


Autsch! Offensichtlich funktioniert der Server nicht korrekt. Man kann die Fehlermeldung sehen (netterweise wird diese angezeigt): out of connection slots, was darauf hinweist dass es zur Zeit zu viele Verbindungen zu diesem Mailserver gibt. Qmail wird später versuchen, die Mail erneut zu senden.

Ein anderes beispiel: 66-2434019-directway.com?amysummers@trailerr.trailblazernews.com
Hmmm... das sieht wie eine Spam-Mail? aus.

# dnsmx trailerr.trailblazernews.com
10 stdin-mv-01.trailblazernews.com
# telnet stdin-mv-01.trailblazernews.com 25
Trying 206.131.244.8...
telnet: connect to address 206.131.244.8: Connexion refusée


Der MX Server ist online aber es gibt keinen funktionierenden SMTP-Server und demnach kann man sich nicht mit Port 25 verbinden.

# ping stdin-mv-01.trailblazernews.com
PING stdin-mv-01.trailblazernews.com (206.131.244.8) from xxxxxxx : 56(84) bytes of data.
64 bytes from news1mv.trailblazernews.com (206.131.244.8): icmp_seq=0 ttl=240 time=83.048 msec
64 bytes from news1mv.trailblazernews.com (206.131.244.8): icmp_seq=1 ttl=240 time=81.381 msec

stdin-mv-01.trailblazernews.com ping statistics

3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max/mdev = 81.381/82.214/83.048/0.881 ms
# telnet stdin-mv-01.trailblazernews.com
Trying 206.131.244.8...
Connected to stdin-mv-01.trailblazernews.com.
Escape character is '^093~'.
Red Hat Linux release 7.2 (Enigma)
Kernel 2.4.7-10 on an i686
login:
Login incorrect

login:
Login incorrect

login:
Login incorrect

login:
Connection closed by foreign host.


En anderes Beispiel: response@sleekzine.com

# dnsmx sleekzine.com
20 mail2.sleekzine.com
30 mail3.sleekzine.com
10 mail1.sleekzine.com


Es gibt 3 MX-Server mit unterschiedlicher Last für jeden Server. Qmail wird also zuerst versuchen sich mit mail1.sleekzine.com, der die geringste Last hat, zu verbinden, dann mit mail2.sleekzine.com, dann mit mail3.sleekzine.com.

# telnet mail1.sleekzine.com 25
Trying 216.93.189.135...
telnet: connect to address 216.93.189.135: Connexion terminée par expiration du délai d'attente
# telnet mail1.sleekzine.com 25
Trying 216.93.189.135...
telnet: connect to address 216.93.189.135: Connexion terminée par expiration du délai d'attente
# telnet mail3.sleekzine.com 25
Trying 216.93.189.133...
telnet: connect to address 216.93.189.133: Connexion refusée


Wenn man nachsieht was qmail mit einer solchen E-Mail macht:

# echo "test" | mail -s "test" response@sleekzine.com
# ps auxw
[...]
qmailr 7066 0.0 0.5 2568 736 ? S 15:04 0:00 qmail-remote sleekzine.com root@nsxxxx.ovh.net response@sleekzine.com
[...]
# tail -f /var/log/qmail/current
@400000003f880003024f7034 new msg 66208
@400000003f880003024fbe54 info msg 66208: bytes 229 from qp 7065 uid 0
@400000003f88000303f530f4 starting delivery 67496: msg 66208 to remote response@sleekzine.com
@400000003f88000303f5447c status: local 0/10 remote 1/20
@400000003f88003f221f1d74 delivery 67496: deferral: Sorry,[7]_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/
@400000003f88003f221f30fc status: local 0/10 remote 0/20



553 Sorry, that domain isn't allowed to be relayed thru this MTA:


Wenn der Server die E-Mail nicht relayed bedeutet das dass:

  • Die IP der Verbindung ist nicht in /etc/tcp.smtp vorhanden (siehe Abschnitt Relay)
  • Der Empfänger hat keinen Account auf der Maschine (siehe Abschnitt MX)

$ telnet mx1.ovh.net 25
Trying 213.186.33.29...
Connected to mx1.ovh.net.
Escape character is '^]'.
220 Welcome ! You are on server 2 called mx1.ovh.net, spam protected: www.spam-rbl.com ESMTP
HELO ping.ovh.net
250 Welcome ! You are on server 2 called mx1.ovh.net, spam protected: www.spam-rbl.com
MAIL FROM:
250 ok
RCPT TO:
553 sorry, that domain isn't allowed to be relayed thru this MTA (#5.7.1)
QUIT
221 Welcome ! You are on server 2 called mx1.ovh.net, spam protected: www.spam-rbl.com
Connection closed by foreign host.


In diesem Fall kann man leicht erraten dass der Account nicht von mx1.ovh.net verwaltet wird und es sich hier einfach um ein Problem beim relay handelt: die IP der Verbindung steht nicht in der Datei /etc/tcp.smtp (siehe Abschnitt Relay).

Wenn das Konto eigentlich auf dem E-Mail-Server deklariert sein müsste und Sie diese fehlermeldung bekommen, dann überprüfen Sie ob die Domain in /var/qmail/bin/assign steht und ob Sie qmail-send neu gestartet haben mit:

# killall -HUP qmail-send

Dies kann von einer falschen Deklaration auf dem DNS-Server wo ein E-Mail-Server angegeben wurde der nichts mit der Domain zu tun hat herrühren; dieser kennt somit nicht die Domain und weigert sich, die Mails weiterzuleiten.


Qmail has prog delivery but has x bit set. (#4.7.0):


Dies bedeutet dass manche Freigaben im Verzeichnis /home/vpopmail Berechtigungen zum Ausführen sind, was nicht der fall sein darf (chmod 700 anstatt chmod 600 in .qmail-alias).

Hier ein Skript um die berechtigungen zu ändern:

#!/bin/sh
cd /home/vpopmail/domains
chown -R vpopmail.vchkpw .
for file in `find . `
do
if [ -d $file ]
then
chmod 700 $file
else
chmod 600 $file
fi
done



553 Sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1):


Dies bedeutet einfach dass Ihre Domain in /var/qmail/control/rcpthosts nicht konfiguriert ist.

Zum Beispiel wurde die Domain test.com installiert aber aus Versehen aus /var/qmail/control/rcpthosts gelöscht.
Hier sehen Sie was passiert wenn man versucht, eine E-Mail an postmaster@test.com zu versenden:

$ telnet nsXXXX.ovh.net 25
Trying 213.186.XX.XX...
Connected to nsXXXX.ovh.net.
Escape character is '^]'.
220 nsXXXX.ovh.net ESMTP
HELO ping.ovh.net
250 nsXXXX.ovh.net
MAIL FROM:
250 ok
RCPT TO:
553 sorry, that domain isn't allowed to be relayed thru this MTA (#5.7.1)
QUIT
Connection closed by foreign host
$



Warning: trouble injecting bounce message, will try later:


Dies bedeutet dass die queue von qmail korrumpiert ist. Um dieses Problem zu beheben gibt es zur zeit nur eine bekannte Lösung: die qmail-queue neu erstellen. Folgen Sie dafür den Anweisungen in dieser Hilfe: QueueQmailFull.

Das queue Verzeichnis neu erstellen:


Folgen Sie dafür den Anweisungen in dieser Hilfe: QueueQmailFull.


Spam:


Der Bereich Spam wird in Kürze erstellt.