Frage

Ich versuche, E -Mails über Google Mail mit PHPMAILER_V5.1 zu senden.

Den folgenden Fehler erhalten,

SMTP -> ERROR: Die Verbindung zum Server nicht herstellt: Der Socket -Transport "SSL" kann nicht gefunden werden - haben Sie vergessen, ihn bei der Konfiguration von PHP zu aktivieren? (41961176) SMTP -Fehler: Ich konnte keine Verbindung zum SMTP -Host herstellen.

Das Folgende ist der Code, der mit dem Phpmailer -Download geliefert wurde. Ich habe gerade die erforderlichen Felder geändert.

<?php
    require_once('../class.phpmailer.php');
    //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

    $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

    $mail->IsSMTP(); // telling the class to use SMTP

    try {
      $mail->Host       = "mail.yourdomain.com"; // SMTP server
      $mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
      $mail->SMTPAuth   = true;                  // enable SMTP authentication
      $mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
      $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
      $mail->Port       = 465;                   // set the SMTP port for the GMAIL server
      $mail->Username   = "santosh1984naidu@gmail.com";  // GMAIL username
      $mail->Password   = "********";            // GMAIL password
      $mail->AddReplyTo('santosh1984naidu@gmail.com', 'First Last');
      $mail->AddAddress('santosh1984naidu@gmail.com', 'John Doe');
      $mail->SetFrom('santosh1984naidu@gmail.com', 'First Last');
      $mail->AddReplyTo('santosh1984naidu@gmail.com', 'First Last');
      $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
      $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
      $mail->MsgHTML(file_get_contents('contents.html'));
      $mail->AddAttachment('images/phpmailer.gif');      // attachment
      $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
      $mail->Send();
      echo "Message Sent OK</p>\n";
    } catch (phpmailerException $e) {
      echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
      echo $e->getMessage(); //Boring error messages from anything else!
    }
    ?>
War es hilfreich?

Lösung

Basierend auf dem Fehler scheint SSL in PHP nicht aktiviert zu werden. Ich glaube, Sie müssen sich ankämpfen müssen

Erweiterung = php_opensl.dll

in Ihrer Php.ini -Datei

Das Folgende sollte Ihnen helfen, SSL zu installieren, wenn es bereits in Ihrem System eingerichtet ist:

http://us2.php.net/manual/en/opensl.installation.php

Andere Tipps

Nun, die Fehlermeldung sagt alles:

Der Socket -Transport "SSL" kann nicht gefunden werden - haben Sie vergessen, ihn beim Konfigurieren von PHP zu aktivieren?

Dies bedeutet, dass die PHP -Version nicht mit den erforderlichen Bibliotheken ausgestattet ist, um über SSL mit dem Mailserver (oder einem anderen Server) zu kommunizieren.

Wenn Sie keinen Root -Zugriff auf Ihren Server haben, ist dies wahrscheinlich ein Problem für Ihren Serveradministrator / -anbieter.

Von einem Ähnliche Diskussion in einem Forum, eine mögliche Lösung, die ziemlich realistisch klingt:

Ich vermute, dass entweder Mod_SSL nicht für Apache installiert ist oder es installiert ist, die Konfigurationslinien für mod_ssl werden jedoch in httpd.conf kommentiert (wie bei SUSE9 für mich). APXs aktiviert nur SSL -Funktionen in PHP, wenn Mod_SSL im Betrieb ist

Überprüfen Sie also, ob Mod_SSL in Apache + aktiviert ist. Versuchen Sie es mit dem Neukompilieren von PHP mit

./configure--with-apxs2 =/usr/sbin/apxs--with-mysql-enable-SSL

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top