热搜:NVER 

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

2024-04-29 14:18:47
 ping“smtp.gmail.com”可以通,为什么PHPMAILer却报错

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   = "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,
This is the HTML BODY
"; //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 ……