|
Suche |
Auf den dedizierten Servern von OVH ist der E-Mail-Server qmail bereits vorinstalliert (http://www.qmail.org). Qmail ist mit folgenden Patches versehen:
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: 250 ok RCPT TO: 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 einfachste Funktion eines E-Mail-Servers ist relay (Weiterleitung), die daraus besteht:
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:
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 @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. 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ß:
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. 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). Informationen dazu finden Sie hier: Die Verwaltung von vpopmail. # 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. 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 @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 Wenn der Server die E-Mail nicht relayed bedeutet das dass:
$ 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. 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 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 $ 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. Folgen Sie dafür den Anweisungen in dieser Hilfe: QueueQmailFull. Der Bereich Spam wird in Kürze erstellt. |