2017-10-21 2 views
0

Guten Tag,Peer-Zertifikat stimmen nicht überein "smtp.office354.com" mit phpmailer

Ich war auf meiner phpmailer smtp Konfiguration mit einem Fehler

hier mein Skript

smtp.office365.com
require __DIR__ .'/vendor/phpmailer/phpmailer/src/Exception.php'; 
require __DIR__ .'/vendor/phpmailer/phpmailer/src/PHPMailer.php'; 
require __DIR__ .'/vendor/phpmailer/phpmailer/src/SMTP.php'; 

use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 
use PHPMailer\PHPMailer\SMTP; 


$mail = new PHPMailer(true);        // Passing `true` enables exceptions 
try { 
    //Server settings 
    $mail->SMTPDebug = 4;         // Enable verbose debug output 
    $mail->isSMTP();          // Set mailer to use SMTP 
    $mail->Host = gethostbyname('smtp.office365.com'); // Specify main and backup SMTP servers 

    $mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
    $mail->SMTPAuth = true;        // Enable SMTP authentication 
    $mail->Username = 'office365 username';     // SMTP username 
    $mail->Password = 'office365 password';       // SMTP password 
    $mail->SMTPOptions = array (
         'ssl' => array(
         // 'verify_peer' => false, 

         // 'verify_peer_name' => false, 
         // 'allow_self_signed' => true 
         )); 
    $mail->Port = 587;         // TCP port to connect to 

    //Recipients 
    $mail->From  = $mail->Username; 
    $mail->addAddress('[email protected]');    // Name is optional 
    //Attachments 

    //Content 
    $mail->isHTML(true);         // Set email format to HTML 
    $mail->Subject = 'Here is the subject'; 
    $mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

    $mail->send(); 
    echo 'Message has been sent'; 
} catch (Exception $e) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} 

bekam ich diesen Fehler

stream_socket_enable_crypto(): Peer certificate CN=`servername.com' did not match expected CN=`smtp.office365.com' 

wenn ich Kommentar-

$mail->SMTPOptions = array (
         'ssl' => array(
         // 'verify_peer' => false, 
         'peer_name'   => 'smtp.office365.com', 
         // 'verify_peer_name' => false, 
         // 'allow_self_signed' => true 
         )); 

ich noch Authentifizierungsfehler bekommen ..

Ich bin nicht wirklich gut mit Serverkonfiguration als jemand den Server einrichten tut. aber meine Website ist auf https.

Antwort

1

Denken Sie darüber nach, was das bedeutet. Sie möchten eine Verbindung zu einem benannten Host herstellen, der Name auf dem Zertifikat stimmt jedoch nicht überein. Das bedeutet, dass entweder der Server falsch konfiguriert ist (unwahrscheinlich für office365) oder Sie auf einen anderen Server umgeleitet werden, der einen anderen Namen verwendet. Dies ist sehr wahrscheinlich, da es bei großen Hosting-Providern sehr häufig vorkommt. Alle werden enthüllt, wenn Sie SMTPDebug = 2 einstellen, da der Fehlerbehebungsleitfaden die Fehlermeldung Links zu suggeriert.

Dass dies geschehen ist, ist ein gut Sache - es ist einer der Hauptgründe für die TLS verwenden - es verschlüsselt nicht nur Ihre Transitverkehr, aber vorausgesetzt, Versicherung, dass der Server Sie verbunden ist, die Sie erwartet, das heißt es macht seine Arbeit richtig.

+0

auch eine Sache .. es war tatsächlich funktioniert, wenn ich es am ersten Tag konfiguriert, dann nach einer Woche, dann überprüfe ich es dann fing an, diesen Fehler zu generieren .. Ich bin nicht wirklich sicher, warum .. – melvnberd

+1

Richtig - das heißt Ihre SMTP-Verbindung wird abgefangen und an anderer Stelle umgeleitet, sodass der Name nicht mehr übereinstimmt. Dies ist der Fall, wenn TLS seine Aufgabe ordnungsgemäß erfüllt und verhindert, dass Personen in der Mitte angegriffen werden, und dass Ihre Anmeldeinformationen an unbekannte Dritte weitergegeben werden. Erkundigen Sie sich bei Ihrem ISP nach der Richtlinie für ausgehenden SMTP. Sie sind möglicherweise gezwungen, ihre Server zu verwenden, was eine schlechte Nachricht ist, wenn Sie eine Google Mail-Adresse verwenden möchten. – Synchro

+0

danke für den Gedanken .. auch nicht mit Google Mail als von, im tatsächlich mit dem Office365-Konto .. wirkt sich das Problem Sir? – melvnberd

Verwandte Themen