当前位置: 代码迷 >> PHP >> ping“smtp.gmail.com”可以通,为什么PHPMAILer却报错
  详细解决方案

ping“smtp.gmail.com”可以通,为什么PHPMAILer却报错

热度:469   发布时间:2016-04-28 23:59:13.0
ping“smtp.gmail.com”可以通,为啥PHPMAILer却报错
在CMD里ping一下GMAIL的SMTP服务器可以通,

可是在网页里面做的发送email的程序,却总是报错:
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.


咋回事呢:

PHP code
<?php include("phpmailer/class.phpmailer.php"); $mail             = new PHPMailer(); $body             = "TEST_TEST";  $mail->IsSMTP(); $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   = "[email protected]";  // GMAIL username $mail->Password   = "xxx";            // GMAIL password   $mail->From       = "[email protected]"; $mail->FromName   = "xxx";  $mail->Subject    = "subject 111";  //$mail->Body       = "Hi,<br>This is the HTML BODY<br>";                      //HTML Body $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->WordWrap   = 50; // set word wrap  $mail->MsgHTML($body);  $mail->AddAddress("[email protected]", "xxx");  $mail->IsHTML(true); // send as HTML  if(!$mail->Send()) {     echo "Mailer Error: " . $mail->ErrorInfo; } else {     echo "Message sent!"; }      ?>


------解决方案--------------------
探讨

会不会是空间商做了限制呢?

我在本地测试,用163的邮箱可以发邮件;用GMAIL的也是显示这个错误,开启PHPMAILER的调试模式显示:
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you ……
  相关解决方案