首页 > 后端开发 > php教程 > ping“smtp.gmail.com”可以通,为什么PHPMAILer却报错

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

WBOY
发布: 2016-06-13 13:16:49
原创
1464 人浏览过

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

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?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   = "xxx@gmail.com";  // GMAIL username 
$mail->Password   = "xxx";            // GMAIL password 
 
 
$mail->From       = "xxx@gmail.com"; 
$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("xxx@gmail.com", "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 ……
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板