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