Ankündigung

Einklappen
Keine Ankündigung bisher.

Emailversand über Office365

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • hartwigm
    antwortet
    Hat nun leider gedauert...

    Ich habe es nun nochmals mit jonofe LBS19000587 probiert aber auch da kommt ein Fehler:
    {EDOMI,CUSTOMLOG_Mailer-LBS19000587.htm,18.05.2022,15:53:54,163651,28589}
    Zeitstempel ms PID LogLevel Meldung
    2022-05-18 15:53:54 163501 28589 debug EXE19000587 [v0.4]: Mailer started (5960)
    2022-05-18 15:53:54 462552 28589 debug EXE19000587 [v0.4]: Failed to send message: SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting (5960)
    2022-05-18 15:53:54 464004 28589 debug EXE19000587 [v0.4]: Mailer terminated (5960)
    2022-05-18 15:54:02 596512 28654 debug EXE19000587 [v0.4]: Mailer started (5960)
    2022-05-18 15:54:02 973094 28654 debug EXE19000587 [v0.4]: Failed to send message: SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting (5960)
    2022-05-18 15:54:02 974385 28654 debug EXE19000587 [v0.4]: Mailer terminated (5960)
    2022-05-18 15:56:02 075190 28893 debug EXE19000587 [v0.4]: Mailer started (5960)
    2022-05-18 15:56:02 428782 28893 debug EXE19000587 [v0.4]: Failed to send message: SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting (5960)
    2022-05-18 15:56:02 430310 28893 debug EXE19000587 [v0.4]: Mailer terminated (5960)

    An den office365 Einstellungen kann ich leider nichts drehen. Den Zugang dafür kommt von extern.

    Ich habe nun meinen Strato smtp eingetragen und alles ist gut
    2022-05-18 16:03:32 181832 29478 debug EXE19000587 [v0.4]: Mailer terminated (5960)
    2022-05-18 16:05:04 131129 29591 debug EXE19000587 [v0.4]: Mailer started (5960)
    2022-05-18 16:05:04 655436 29591 debug EXE19000587 [v0.4]: Message sent successfully (5960)
    2022-05-18 16:05:04 656106 29591 debug EXE19000587 [v0.4]: Mailer terminated (5960)

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Mit CentOS7.x und der dort vorhandenen PHP-Version sollte TLS 1.2 funtkionieren, dann würde ich die von Jonofe in Beitrag #9 genannte Änderung testen.
    Kannst Du alternativ nicht den E-Mail-LBS von Jonofe (19000587) für Deine Zwecke verwenden?
    Zuletzt geändert von Glotzkowski; 10.05.2022, 12:21.

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Vielen Dank für Euer Feedback, auch wenn ich nicht im Detail in allen Punkten folgen kann.

    Ich hatte einleitend vergessen zu erwähnen, das Edomi auf Centos 7.6 werkelt.



    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Die TLS-Verbindung wird ja noch gar nicht aufgebaut, da kann es meiner Ansicht nach nicht sein, dass Einstellungen in dem Zugang eines Benutzers verändert werden müssen.

    Bzgl. TLS 1.0:
    SSLv2 und SSLv3 sind nicht TLS 1.0 und auch nicht dazu kompatibel.
    Der Fehlermeldung nach zu urteilen nutzt der Client hier diese ältere Version (SSL23_GET_SERVER_HELLO:unknown protocol).

    Ich glaube, dass es hier erst weiter geht, wenn wir die von hartwig genutzten Versions-Informationen erhalten.

    Einen Kommentar schreiben:


  • maque
    antwortet
    hartwigm : kann es sein, dass Du an den Security Einstellungen in Office365 drehen musst? https://support.mozilla.org/en-US/questions/1294759

    Viele Grüsse
    Matthias

    Einen Kommentar schreiben:


  • maque
    antwortet
    Doch, TLS 1.0 ist noch unterstützt. Der Befehl erzwingt den Verbindungsaufbau mit TLS1.0 und der klappt.

    Code:
    openssl s_client -starttls smtp -connect smtp.office365.com:587 -tls1
    Code:
    CONNECTED(00000003)
    depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
    verify return:1
    depth=1 C = US, O = DigiCert Inc, CN = DigiCert Cloud Services CA-1
    verify return:1
    depth=0 C = US, ST = Washington, L = Redmond, O = Microsoft Corporation, CN = outlook.com
    verify return:1
    ---
    Certificate chain
    0 s:/C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=outlook.com
    i:/C=US/O=DigiCert Inc/CN=DigiCert Cloud Services CA-1
    1 s:/C=US/O=DigiCert Inc/CN=DigiCert Cloud Services CA-1
    i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    ...
    ---
    SSL handshake has read 4359 bytes and written 313 bytes
    Verification: OK
    ---
    New, TLSv1.0, Cipher is ECDHE-RSA-AES256-SHA
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
    Protocol : TLSv1
    Cipher : ECDHE-RSA-AES256-SHA
    Session-ID: 054300008E346FFA237B7FEAB6C39F729F8BFE555087ACA485 52386EBCC2FFB1
    Session-ID-ctx:
    Master-Key: 68B320D533A117CBFE84EC29FD148CE258B82BAE0EEFA41331 7D97B3430CE49B0A255FF1212AE000888B8DB0B0B3A8F9
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1652123041
    Timeout : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: yes
    ---
    250 SMTPUTF8

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Könnte also sein, dass office365 kein TLS 1.0 mehr unterstützt.
    Womit wir bei meiner Ursprungsvermutung (#2) angekommen wären, aber es haben alle sehr schön und ausführlich die Mechanismen beschrieben und das meine ich nicht negativ oder ironisch!
    Zuletzt geändert von Glotzkowski; 09.05.2022, 18:34.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von jonofe Beitrag anzeigen
    EDOMI macht ja STARTTLS, nur leider ohne zuerst ein EHLO zu senden:
    Das war "leider" ein Irrtum. Das erste EHLO wird schon im Konstruktor der E-Mail Klasse gemacht. Daher ist diese Vermutung falsch und auch keine Erklärung für den Fehler.

    Es könnte noch das Problem sein, dass eine nicht unterstützte Crpyto-Methode verwendet wird.

    EDOMI verwendet: STREAM_CRYPTO_METHOD_TLS_CLIENT

    Ggf. könnte man versuchen, dies mal in STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT zu ändern. (/usr/local/edomi/main/include/php/incl_mail.php) und prüfen, ob es dann funktioniert.

    Was ich gerade noch auf php.net gesehen habe:

    Now, be careful because since PHP 5.6.7, STREAM_CRYPTO_METHOD_TLS_CLIENT (same for _SERVER) no longer means any tls version but tls 1.0 only (for "backward compatibility"...).
    Könnte also sein, dass office365 kein TLS 1.0 mehr unterstützt.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von maque Beitrag anzeigen
    Daher schlägt der Verbindungsaufbau mit SSL natürlich fehl.
    EDOMI macht ja STARTTLS, nur leider ohne zuerst ein EHLO zu senden:

    PHP-Code:
    if ($this->Auth == 'tls') {
       if (
    extension_loaded('openssl')) {
          
    $this->mailSendRequest("STARTTLS");
          if (
    substr($this->mailGetResponse("STARTTLS"), 03) != '220') {
             
    writeToLog(-1false'EMAIL-Fehler: TLS-Verbindung vom Host abgelehnt.');
             
    $this->mailReset();
             return 
    false;
         }
         
    stream_socket_enable_crypto($this->SockettrueSTREAM_CRYPTO_METHOD_TLS_CLIENT);
         
    $this->mailSendRequest("EHLO " $this->Domain);
         if (
    substr($this->mailGetResponse("SEND HELLO MESSAGE"), 03) != '250') {
            
    writeToLog(-1false'EMAIL-Fehler: Verbindung vom Host abgelehnt. TLS gescheitert.');
            
    $this->mailReset();
            return 
    false;
         } 
    Zuletzt geändert von jonofe; 09.05.2022, 16:31.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ich denke es liegt an der EDOMI Implementierung von STARTTLS.
    Es wird bei Verbindungsaufbau direkt ein STARTTLS gesendet.
    smtp.office365.com:587 möchte aber zuerst den EHLO <domain> Befehl und erst danach STARTTLS:

    So macht es EDOMI (Zuerst STARTTLS ...)

    Code:
    [root@edomi-dev ~]# telnet smtp.office365.com 587
    Trying 52.97.135.66...
    Connected to smtp.office365.com.
    Escape character is '^]'.
    220 AS9PR06CA0278.outlook.office365.com Microsoft ESMTP MAIL Service ready at Mo n, 9 May 2022 14:34:51 +0000
    STARTTLS
    503 5.5.2 Send hello first [AS9PR06CA0278.eurprd06.prod.outlook.com]

    So gehts richtig: (Zuerst EHLO, dann STARTTLS)

    Code:
    [root@edomi-dev ~]# telnet smtp.office365.com 587
    Trying 52.98.208.98...
    Connected to smtp.office365.com.
    Escape character is '^]'.
    220 AS9PR06CA0334.outlook.office365.com Microsoft ESMTP MAIL Service ready at Mon, 9 May 2022 14:36:22 +0000
    EHLO edomi.de
    250-AS9PR06CA0334.outlook.office365.com Hello [85.182.220.191]
    250-SIZE 157286400
    250-PIPELINING
    250-DSN
    250-ENHANCEDSTATUSCODES
    250-STARTTLS
    250-8BITMIME
    250-BINARYMIME
    250-CHUNKING
    250 SMTPUTF8
    STARTTLS
    220 2.0.0 SMTP server ready
    Damit läuft STARTTLS bei EDOMI ins Leere und es wird vermutlich vom Server SSL/TLS erwartet.
    Kann man auch per openssl nachstellen:

    Mit TLS/SSL: (=> Hier taucht genau der Fehler aus dem EDOMI Log auf !!!)

    Code:
    [root@edomi-dev ~]# openssl s_client -connect smtp.office365.com:587
    CONNECTED(00000003)
    140321000478608:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:794:
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 7 bytes and written 289 bytes
    ---
    New, (NONE), Cipher is (NONE)
    Secure Renegotiation IS NOT supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
    Protocol : TLSv1.2
    Cipher : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    Key-Arg : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1652107249
    Timeout : 300 (sec)
    Verify return code: 0 (ok)
    ---

    Und hier korrektes STARTTLS:

    Code:
    [root@edomi-dev ~]# openssl s_client -starttls smtp -connect smtp.office365.com:587
    CONNECTED(00000003)
    depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
    verify return:1
    depth=1 C = US, O = DigiCert Inc, CN = DigiCert Cloud Services CA-1
    verify return:1
    depth=0 C = US, ST = Washington, L = Redmond, O = Microsoft Corporation, CN = outlook.com
    verify return:1
    ---
    Certificate chain
    0 s:/C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=outlook.com
    i:/C=US/O=DigiCert Inc/CN=DigiCert Cloud Services CA-1
    1 s:/C=US/O=DigiCert Inc/CN=DigiCert Cloud Services CA-1
    i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    MIIIpDCCB4ygAwIBAgIQCKADw/Or6WqnCIVhHvaGQjANBgkqhkiG9w0BAQsFADBL
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMS UwIwYDVQQDExxE
    aWdpQ2VydCBDbG91ZCBTZXJ2aWNlcyBDQS0xMB4XDTIxMTIyMj AwMDAwMFoXDTIy
    MTIyMjIzNTk1OVowajELMAkGA1UEBhMCVVMxEzARBgNVBAgTCl dhc2hpbmd0b24x
    EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdC BDb3Jwb3JhdGlv
    bjEUMBIGA1UEAxMLb3V0bG9vay5jb20wggEiMA0GCSqGSIb3DQ EBAQUAA4IBDwAw
    ggEKAoIBAQCx8iKoaXhfNV7nuguyQXV8YrfJ0IPCtmppi1ll+5 CgQPEcd9K8v0le
    bOsMHwYFwSzmqWorZVWtm8VSbJB+ZKZrmsbbPhVOjqRUMeb77Y wA6h4DzZV3rWC3
    WopQBzO1DANeNF7RuF+sjikXzD+TWFPsPuqEJjZRYFo+cDfsYw FB95tPYkQ61S4p
    1JA6cwpYnCuCSqXGEavRoQ6e6YDMQYNXXAoWs7Nr0VOCtYJV/pOWtCZqHzsYydzG
    J/sqVaXuDYf+HjFL/tha94vGnWLgAITdqZorMKi/sSQ3dd63SIWfwJnKYD85R2cR
    GTW+LZY4Up8FsSb9yKhYxi494e3Thj3VAgMBAAGjggVjMIIFXz AfBgNVHSMEGDAW
    gBTdUdCiMXOpc66PtAF+XYxXy5/w9zAdBgNVHQ4EFgQUC662b5wqMtyvz2nhIYV0
    oqnG/jMwggIQBgNVHREEggIHMIICA4IWKi5pbnRlcm5hbC5vdXRsb29 rLmNvbYIN
    Ki5vdXRsb29rLmNvbYILb3V0bG9vay5jb22CDW9mZmljZTM2NS 5jb22CDyoub2Zm
    aWNlMzY1LmNvbYIXKi5vdXRsb29rLm9mZmljZTM2NS5jb22CDC oub2ZmaWNlLmNv
    bYISb3V0bG9vay5vZmZpY2UuY29tghRzdWJzdHJhdGUub2ZmaW NlLmNvbYIbYXR0
    YWNobWVudC5vdXRsb29rLmxpdmUubmV0gh1hdHRhY2htZW50Lm 91dGxvb2sub2Zm
    aWNlLm5ldIIgYXR0YWNobWVudC5vdXRsb29rLm9mZmljZXBwZS 5uZXSCFmF0dGFj
    aG1lbnRzLm9mZmljZS5uZXSCFiouY2xvLmZvb3RwcmludGRucy 5jb22CFioubnJi
    LmZvb3RwcmludGRucy5jb22CHWNjcy5sb2dpbi5taWNyb3NvZn RvbmxpbmUuY29t
    giFjY3Mtc2RmLmxvZ2luLm1pY3Jvc29mdG9ubGluZS5jb22CGH N1YnN0cmF0ZS1z
    ZGYub2ZmaWNlLmNvbYIaYXR0YWNobWVudHMtc2RmLm9mZmljZS 5uZXSCCioubGl2
    ZS5jb22CFm1haWwuc2VydmljZXMubGl2ZS5jb22CC2hvdG1haW wuY29tgg0qLmhv
    dG1haWwuY29tMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYI
    KwYBBQUHAwIwgY0GA1UdHwSBhTCBgjA/oD2gO4Y5aHR0cDovL2NybDMuZGlnaWNl
    cnQuY29tL0RpZ2lDZXJ0Q2xvdWRTZXJ2aWNlc0NBLTEtZzEuY3 JsMD+gPaA7hjlo
    dHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNlcnRDbG91ZF NlcnZpY2VzQ0Et
    MS1nMS5jcmwwPgYDVR0gBDcwNTAzBgZngQwBAgIwKTAnBggrBg EFBQcCARYbaHR0
    cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMHwGCCsGAQUFBwEBBH AwbjAlBggrBgEF
    BQcwAYYZaHR0cDovL29jc3B4LmRpZ2ljZXJ0LmNvbTBFBggrBg EFBQcwAoY5aHR0
    cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0Q2xvdW RTZXJ2aWNlc0NB
    LTEuY3J0MAwGA1UdEwEB/wQCMAAwggF8BgorBgEEAdZ5AgQCBIIBbASCAWgBZgB1
    ACl5vvCeOTkh8FZzn2Old+W+V32cYAr4+U1dJlwlXceEAAABfd 92KNcAAAQDAEYw
    RAIgK1OoayOTzmZhLBTA59kK4wDo6wrIN6cqkQF5aq+RRkoCID 9wliAcCpH5/xuw
    lbXhD802mYt6rTvhE28q46XI+JxMAHUAUaOw9f0BeZxWbbg3eI 8MpHrMGyfL956I
    QpoN/tSLBeUAAAF933Yo2QAABAMARjBEAiATdes8mfBPe7c6Jr5ugzs ah+pL1exf
    DS52v3nrer6BzAIgR+3KS+FiwwaHUGHSxN590BgyM+tpWTvXKO +Bew9E3LcAdgBB
    yMqx3yJGShDGoToJQodeTjGLGwPr60vHaPCQYpYG9gAAAX3fdi h4AAAEAwBHMEUC
    IQDlJfrDDM9dqLit2DyDbU2DHQ4s1KFC0RVLDhbgH/SV2gIgW2ruP4ypX4uzJLVI
    DNUycp/X622bLayb8GOPeR+W0uAwDQYJKoZIhvcNAQELBQADggEBAF8Sg/U5PslL
    xTvAa8fZDOomCB1vTbeW/0Hdhoo5GQqhavcKNpmlFMmIac5PsFnld/wAKrplyt6H
    OsJsO6iHnZG5FhoMlsSUAMyApcwPQS3kD9+zq15fjtWBPs2EGQ E9cF8Y4MkRhL4g
    kRlKqlcDs+Rs0pOAqzAcro9AO0VNIWtmmNhp5TBnoDIBoY5NOH wYaSairNlpE51B
    YEQJrXhJqcLHT+pDyqr8UdT/LE2qRRQCWcsM7gzu/AFJcJIbfl/lmX3DHJV/CmXP
    GkB/ICCFVD4qk2+OfaQk/QlZpGIokfiIlsVmVR8ik+z/v5A4XmYDOxrD0gY2DLYF
    HqZj57jM5ME=
    -----END CERTIFICATE-----
    subject=/C=US/ST=Washington/L=Redmond/O=Microsoft Corporation/CN=outlook.com
    issuer=/C=US/O=DigiCert Inc/CN=DigiCert Cloud Services CA-1
    ---
    No client certificate CA names sent
    Client Certificate Types: RSA sign, DSA sign, ECDSA sign
    Requested Signature Algorithms: 0x04+0x08:0x05+0x08:0x06+0x08:RSA+SHA256:RSA+SHA38 4:RSA+SHA1:ECDSA+SHA256:ECDSA+SHA384:ECDSA+SHA1:DSA+SHA1:RSA+SHA512:ECDSA+SHA512
    Shared Requested Signature Algorithms: RSA+SHA256:RSA+SHA384:RSA+SHA1:ECDSA+SHA256:ECDSA+ SHA384:ECDSA+SHA1:DSA+SHA1:RSA+SHA512:ECDSA+SHA512
    Peer signing digest: SHA256
    Server Temp Key: ECDH, P-384, 384 bits
    ---
    SSL handshake has read 4374 bytes and written 494 bytes
    ---
    New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
    Protocol : TLSv1.2
    Cipher : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: E03B000060F7E59B2EAE81D57DF87B3E02C8CE68B257E8C67C 06632DB9606166
    Session-ID-ctx:
    Master-Key: 0CBF89744B4DE60AD4F8B2A67AFD3B3F1BD369B291A7C42AD4 4DD1091020127C2664810EF8FA0462985DE80DB7F2D5EC
    Key-Arg : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1652107159
    Timeout : 300 (sec)
    Verify return code: 0 (ok)
    ---
    250 SMTPUTF8

    Einen Kommentar schreiben:


  • maque
    antwortet
    Na ja, die Kommunikation via STARTTLS is erstmal unverschlüssellt und erst nachdem das Kommando STARTTLS abgesetzt wird, wird die TLS-Verbindung ausgehandelt. Daher schlägt der Verbindungsaufbau mit SSL natürlich fehl.


    Grüsse
    Matthias
    Zuletzt geändert von maque; 09.05.2022, 15:16.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von Glotzkowski Beitrag anzeigen
    STARTTLS ist kein Protokoll, sondern ein "Kommando"
    Naja, er bezieht sich wohl darauf, dass das in den Settings der üblichen Verdächtigen unterschiedliche Ports sind, je nachdem ob man nun "TLS" oder "STARTTLS" konfiguriert. SSL/TLS verwendet per Default Port 465 und STARTTLS Port 587.

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    STARTTLS ist kein Protokoll, sondern ein "Kommando", welches von einem Kommunikationsteilnehmer an seinen Kommunikationspartner gesendet wird, um mitzuteilen, dass die Kommunikation, per TLS, verschlüsselt erfolgen soll.
    Selbst wenn erst unverschlüsselt und dann per STARTTLS verschlüsselung verlangt wird, wird es TLS sein, welches die Verschlüsselung bildet.

    Einen Kommentar schreiben:


  • maque
    antwortet
    Ich denke, Port 587 macht STARTTLS und kein TLS....

    Einen Kommentar schreiben:


  • Glotzkowski
    antwortet
    Hier würde ich sagen, dass der Server die SSL-Version nicht unterstützt, welche der Client hier verwenden möchte.
    Welche EDOMI- und PHP-Version nutzt Du?

    Einen Kommentar schreiben:

Lädt...
X