E-Mail Versand mit .NET Client nicht möglich

  • Moin,


    ich habe das Problem, dass ein Programm (SAP) E-Mails mittels .NET verschickt. Dies geht nach dem Umzug auf einen Liveconfig Server nicht mehr.


    - Liveconfig: 2.7.2-r5133
    - SMTPS aktivieren (Port 465): ja
    - nur verschlüsselte Benutzeranmeldung erlauben: ja
    - SSL-Server-Chiffren: kompatibel
    - OS: Debian 9.6 mit Postfix



    Es gibt ein Testskript, das folgende Ergebnisse liefert.


    Code
    $EmailTo = "test@test.de"
        $EmailFrom = "absender@liveconfig-server"  
        $Subject = "Test Mail"  
        $Body = "Test Body"  
        $SMTPServer = "liveconfig-server" 
        $SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body)
        $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) 
        $SMTPClient.EnableSsl = $true 
        $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("absender@liveconfig-server", "password");   
        $SMTPClient.Send($SMTPMessage)


    Wenn ich Port 25 und 587 benutze, erhalte ich diese Fehlermeldung:


    Code
    Ausnahme beim Aufrufen von "Send" mit 1 Argument(en):  "Server unterstützt keine sicheren Verbindungen."
    In C:\Users\pitgrap\Desktop\Test.ps1:10 Zeichen:5
    +     $SMTPClient.Send($SMTPMessage)
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : SmtpException


    Im mail.log steht:


    Code
    Dec 10 17:09:27 server1 postfix/smtpd[28648]: connect from xxx
    Dec 10 17:09:27 server1 postfix/smtpd[28648]: lost connection after EHLO from xxx
    Dec 10 17:09:27 server1 postfix/smtpd[28648]: disconnect from xxx ehlo=1 commands=1


    Bei Port 465 kommt


    Code
    Ausnahme beim Aufrufen von "Send" mit 1 Argument(en):  "Fehler beim Senden von Mail."
    In C:\Users\pitgrap\Desktop\Test.ps1:10 Zeichen:5
    +     $SMTPClient.Send($SMTPMessage)
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : SmtpException


    Im mail.log steht:


    Code
    Dec 10 17:11:51 server1 postfix/smtps/smtpd[32243]: connect from xxx
    Dec 10 17:13:00 server1 postfix/smtps/smtpd[32243]: SSL_accept error from xxx: Connection reset by peer
    Dec 10 17:13:00 server1 postfix/smtps/smtpd[32243]: lost connection after CONNECT from xxx
    Dec 10 17:13:00 server1 postfix/smtps/smtpd[32243]: disconnect from xxx commands=0/0



    Da ich ungern auf "nur verschlüsselte Benutzeranmeldung erlauben" verzichten möchte, frage ich mich, wo hier das Problem sein könnte bzw. wie ich es beheben kann.


    EDIT: ich habe mich gerade per telnet mal mit dem Postfix verbunden und nach dem EHLO antwortet dieser nur


    Code
    250-Requested mail action okay, completed
    250-SIZE 20000000
    250-ETRN
    250-8BITMIME
    250 OK


    Ich hätte erwartet, dass dort auch sowas wie "250-STARTTLS" zurückkommt. Ich denke, dass dies auch der .NET Client erwartet und deswegen die Fehlermeldung zurück gibt.



    Jemand eine Idee?

  • ich habe das Problem, dass ein Programm (SAP) E-Mails mittels .NET verschickt.


    Das sind sogar zwei Probleme. ;)


    Scherz beiseite.

    Zitat

    EDIT: ich habe mich gerade per telnet mal mit dem Postfix verbunden und nach dem EHLO antwortet dieser nur


    Code
    250-Requested mail action okay, completed
    250-SIZE 20000000
    250-ETRN
    250-8BITMIME
    250 OK


    Ich hätte erwartet, dass dort auch sowas wie "250-STARTTLS" zurückkommt. Ich denke, dass dies auch der .NET Client erwartet und deswegen die Fehlermeldung zurück gibt.


    Ja, der Server bietet offensichtlich kein SSL an.


    Ist denn im LiveConfig SSL für Postfix aktiviert und konfiguriert? Sie können den SSL-Zugriff auch mal via https://sslcheck.liveconfig.com testen.


    Da das Ganze offenbar unter Windows stattfindet, kann es auch sein, dass sich ein lokaler Virenscanner dazwischen klemmt. Die akzeptieren häufig keine verschlüsselte Verbindung auf lokaler Seite.


    Wenn der SSL-Check (s.o.) also auf den Ports 25 und 587 ein SSL-Zertifikat anzeigt, prüfen Sie mal ob ein lokaler Virenscanner (oder eine transparente Firewall o.ä.) läuft und evtl. die Verbindungen abgreift.

  • Ja, SSL ist aktiviert. Funktioniert auch mit allen anderen Kunden und Clients.


    Jetzt gibt es 2 weitere verschiedene Probleme:


    1. Telnet von einem anderen PC (Win 10) ergibt eine Antwort mit STARTTLS?!?


    Code
    250-PIPELINING
    250-SIZE 104857600
    250-ETRN
    250-STARTTLS
    250-ENHANCEDSTATUSCODES
    250 8BITMIME


    2. Der Check auf https://www.liveconfig.com/de/sslcheck ergibt unterschiedle Ergebnisse.


    - Port 25: ok (Protocol: TLSv1.2, DHE temporary key type: ECDH(P-256) (256 bits), DH parameters: 2048 bits)
    - Port 587: (Protocol: TLSv1.2, DHE temporary key type: ECDH(P-384) (384 bits), DH parameters: 1024 bits) = WEAK DH parameters


    Diese Warnnung bekomme ich bei Port 110, 143, 465, 587, 993, 995. Alle anderen sind ok.


    Leider hilft mir das erstmal nicht weiter bei meinem Problem. :(


    EDIT:
    Ich habe nun verschiedene Clients aus dem Firmennetz getestet und Clients außerhalb. Alle aus dem Firmennetz erhalten eine Antwort ohne Starttls, alle anderen mit.


    Daher tippe ich aktuell auch auf die Firewall.

  • Ich habe nun verschiedene Clients aus dem Firmennetz getestet und Clients außerhalb. Alle aus dem Firmennetz erhalten eine Antwort ohne Starttls, alle anderen mit.


    Daher tippe ich aktuell auch auf die Firewall.


    Die wird es sicher sein. Der Mailserver unterscheidet nicht nach Herkunft der Verbindung - der bietet allen SSL an. In großen Netzen ist es üblich, dass kein verschlüsselter (= nicht scanbarer) Traffic nach außen geht. Einfach mal mit den lokalen (zuständigen) Admins sprechen, ob eine "unverschlüsselte" Verbindung (bis zur Firewall) erlaubt ist, bzw. was die empfehlen würden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!