PHPMailer_v5.1 kullanarak gmail üzerinden e-posta göndermek için açılamıyor

2 Cevap php

Ben PHPMailer_V5.1 kullanarak gmail üzerinden e-posta göndermek için çalışıyorum.

Aşağıdaki hatayı alıyorum,

SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (41961176) SMTP Error: Could not connect to SMTP host.

The following is the code which came with the PHPMailer download, I just modified the required fields,

<?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!
    }
    ?>

2 Cevap

Hata dayanarak SSL PHP etkin değil gibi görünüyor. Kafamın üst Off ben yorumsuz gerektiğine inanıyorum

extension = php_openssl.dll

php.ini dosyasında

Aşağıdaki zaten sisteminizde kurulum eğer SSL yüklemenize yardımcı olmalıdır:

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

Peki, hata mesajı tüm diyor:

Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

Bu PHP version SSL üzerinden posta sunucusu (veya bu konuda başka bir sunucu) ile iletişim kurmak için gerekli kütüphaneleri ile donatılmış değil demektir.

Eğer sunucuya root erişimi yoksa, bu muhtemelen sunucu yöneticiniz / sağlayıcısı için bir konudur.

Bir similar discussion in a forum , oldukça gerçekçi sesler olası bir çözüm:

My guess is that either mod_ssl is not installed for apache or it is installed but the configuration lines for mod_ssl are commented out in httpd.conf (like it was on suse9 for me). apxs will only enable ssl functions in php if mod_ssl is up and running

So check mod_ssl is available + enabled in apache then try recompiling php with

. / Configure - with-apxs2 = / usr / sbin / apxs - with-mysql - enable-ssl