Mail-Probleme beim neuen Server

    • Offizieller Beitrag

    Hallo,


    ich habe gestern mal einen neuen Server aufgesetzt, bei dem klappt der Mail-Versand und -Empfang über ein mail-Konto nicht, Mails vom crontab werden aber verschickt.


    Wenn ich von extern eine Mail an ein lokales Konto schicke, erscheint beim versendenden Server folgendes in der Log:

    Code
    qmail: 1590135999.116011 delivery 2060: deferral: NNN.NNN.NNN.NNN_failed_after_I_sent_the_message./Remote_host_said:_451_mail_server_temporarily_rejected_message_(#4.3.0)/

    in der eigenen mail.log erscheint nur

    Code
    qmail-smtpd: qmail-smtpd/VC started

    nicht mehr und auch nicht weniger :/

    Code
    root@example:~# lsof -i tcp:25,587
    COMMAND     PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    tcpserver   710 qmaild    3u  IPv6  16095      0t0  TCP *:smtp (LISTEN)
    tcpserver 16069 qmaild    3u  IPv6 127453      0t0  TCP *:submission (LISTEN
    Code
    root@example:~# ps aux |grep tcpserver
    qmaild     710  0.0  0.0   2416  1820 ?        S    May21   0:00 /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -h -P -R -u 1013 -g 1012 -c 450 -v 0 smtp /var/qmail/bin/qmail-smtpd example.org /usr/local/pd-admin2/bin/checksmtppasswd /bin/true
    qmaild     721  0.0  0.0   2332   740 ?        S    May21   0:00 /usr/local/bin/tcpserver -v -H -R -l 0 -x /etc/tcp.msa.cdb -c 12 -u 1013 -g 1012 0 587 /var/qmail/bin/qmail-smtpd example.org /usr/local/pd-admin2/bin/checksmtppasswd /bin/true
    qmaild     725  0.0  0.0   2332   684 ?        S    May21   0:00 /usr/local/bin/tcpserver -x /etc/tcp.msa.cdb -c 12 -u 1013 -g 1012 -v -R -H -l example.org 0 465 /usr/local/pd-admin2/bin/couriertls -server -tcpd /var/qmail/bin/qmail-smtpd example.org /usr/local/pd-admin2/bin/checksmtppasswd /bin/true

    Warum taucht da "/usr/local/pd-admin2/bin/couriertls" auf? Das scheint es auch nicht zu geben

    Code
    root@example:~# ls -lha /usr/local/pd-admin2/bin/couriertls
    ls: cannot access '/usr/local/pd-admin2/bin/couriertls': No such file or directory

    Ich hatte pd-admin (pdadmin_v4_beta_64.tar.gz auf ein Debian 10) installiert, Zertifikate per Let's Encrypt erstellt und dann dc-ssl-install.sh heruntergeladen und ausgeführt.


    Was habe ich falsch gemacht bzw. an was habe ich nicht gedacht ... :/

    • Offizieller Beitrag

    Wie sieht bei euch die Datei /service/qmail-smtpd/run aus?


    Bei dem neuen Server sieht sie so aus:

    Code
    root@example:~# ls -l /var/qmail/control/{smtpmaxconn,smtpmaxconnip,smtpmaxconnc,no_sslv2v3}
    ls: cannot access '/var/qmail/control/smtpmaxconn': No such file or directory
    ls: cannot access '/var/qmail/control/smtpmaxconnip': No such file or directory
    ls: cannot access '/var/qmail/control/smtpmaxconnc': No such file or directory
    ls: cannot access '/var/qmail/control/no_sslv2v3': No such file or directory

    Was sollte idealerweise in den Dateien drin stehen?

  • qmail-smtpd: qmail-smtpd/VC started

    bedeutet, dass ein qmail-smtpd Prozess gestartet wurde. Unter CentOS sieht man im messages log dann den Verbindungsaufbau zu dem Dienst.


    /service/qmail-smptd/run:

    und ansonsten sehe ich gerade, dass ich /var/qmail/control/{smtpmaxconn,smtpmaxconnip,smtpmaxconnc,no_sslv2v3} auch nicht habe.

    • Offizieller Beitrag

    In der messages steht nichts


    Code
    May 22 17:45:29 example qmail-smtpd: qmail-smtpd/VC started
    May 22 17:45:29 example pdadmin[24032]: User xxx@example.com: smtp-auth login from N.N.N.N
    May 22 17:45:29 example qmail-smtpd: domain web.de not in domains or codomains table
    May 22 17:45:30 example greylisting[24033]: address XX.XX.XXX.XXX bypassed: authenticted user xxx@example.com

    Da habe ich es mit Port 25 probiert, Port 587 geht gar nicht, obwohl er offen ist :/

    Code
    $ telnet example.org 587
    Trying N.N.N.N...
    Connected to www.example.org.
    Escape character is '^]'.
    Connection closed by foreign host.
    • Offizieller Beitrag

    Ich habe jetzt mal per strace mitgeschnitten, ich sehe jedoch den Fehler nicht …


  • Code
    export DIEMSGL="421 TOO MANY CONNECTIONS"
    export FORCETLS=1
    export CHKUSER_START=ALWAYS

    ist bei Dir anders und beim exec unten gibt es noch ein -j; ich konnte noch nicht ermitteln, was das -j macht


    Wurden DIEMSGL und CHKUSER_START von Dir hinzugefügt?

    Ich kann mich nicht daran erinnern, dass ich da Änderungen vorgenommen habe... Will es aber auch nicht gänzlich ausschließen... Ansonsten


    qmail-smtpd läuft auf Port 25

    qmail-msa läuft auf Port 587

    qmail-smtpSd läuft auf Port 465


    Ich würde erst einmal mit netstat und lsof schauen, ob die Dienste laufen und auf den Ports lauschen. Anstatt des strace, was ja immer etwas schwierig zu lesen ist, würde ich einfach Mal

    Bash
    svc -d /service/qmail-smtpd
    /service/qmail-smtpd/run

    auf der Konsole ausführen, Zustellung auf einer zweiten Konsole testen und schauen was bei der Ersten angezeigt wird.

    • Offizieller Beitrag
    Code
    root@example:~# /service/qmail-smtpd/run 
    /service/qmail-smtpd/run: line 12: test: : integer expression expected
    tcpserver: status: 0/450
    tcpserver: status: 1/450
    tcpserver: pid 27125 from XX.XX.XXX.XXX
    tcpserver: ok 27125 example.org:::ffff:NNN.NNN.NNN.NNN:25 pXXXXXXXX.dip0.t-ipconnect.de:::ffff:MM.MM.MMM.MMM::60078
    tcpserver: end 27125 status 0
    tcpserver: status: 0/450

    mehr kommt nicht

    beim Client erscheint jedoch, wie auch vorher folgendes:

    Code
    Fehler beim Senden der Nachricht. Der Mail-Server antwortete:  mail server temporarily rejected message (#4.3.0). Bitte überprüfen Sie die Nachricht und wiederholen Sie den Vorgang.


    Zeile 12 ist folgende:

    Code
    test "$NO_SSLv2v3" -ne 0 && export NO_SSLv2v3

    das sollte aber nicht das Problem sein …

    • Offizieller Beitrag

    eben gerade kam bei /service/qmail-smtpd/run eine Fehlermeldung, nach etwas grübeln, kam ich darauf, dass ein anderer Server zu der Zeit versucht hat eine Mail zuzustellen.

    Code
    root@example:~# locate OPT.pm
    /usr/local/pd-admin2/lib/perl5/site_perl/5.22.1/x86_64-linux/Net/DNS/RR/OPT.pm

    irgendwie scheint der include Path nicht zu stimmen :/

    • Offizieller Beitrag

    Habe das das gleiche mal mit qmail-msa gemacht :rolleyes:

    Code
    root@twilo-host:~# /service/qmail-msa/run
    /service/qmail-msa/run: 9: test: Illegal number: 
    /service/qmail-msa/run: 10: test: Illegal number: 
    /service/qmail-msa/run: 14: [: example.org: unexpected operator
    tcpserver: status: 0/12

    das Problem mit [: lässt sich dadurch "#!/bin/bash" statt "#!/bin/sh" beheben


    bei Verwendung von Port 587 erscheint in Thunderbird folgende Fehlermeldung:

    Code
    Senden der Nachricht fehlgeschlagen.
    Die Nachricht konnte nicht gesendet werden, weil die Verbindung mit dem SMTP-Server example.org mitten in der Transaktion verloren wurde. Versuchen Sie es nochmals.

    und bei der Ausgabe vom run-File folgendes:

    Code
    tcpserver: pid 28278 from NN.NN.NN.NN
    tcpserver: warning: dropping connection, unable to read /etc/tcp.msa.cdb: file does not exist
    tcpserver: end 28278 status 2841

    Mit etwas suchen habe ich gesehen, dass die Datei in /usr/local/pd-admin2/CONFIGURE/configure-sc.sh angelegt wird. Muss diese Datei noch ausgeführt werden?

    • Offizieller Beitrag

    vom Installationskript vergessen? =O


    also das nach ${SEINSTDIR}/CONFIGURE/configure-sc.sh wurde ausgeführt. :/