PHPMailer使用Gmail作为SMTP服务器。无法连接到SMTP主机。邮件程序错误:SMTP错误:无法连接到SMTP主机

时间:2011-05-29 16:25:21

标签: php ssl smtp gmail phpmailer

我正在尝试使用phpMailer通过电子邮件向用户发送确认消息。我的代码是这样的:

<?php
include("class.phpmailer.php");
include("class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "ssl://smtp.gmail.com"; // specify main and backup server
$mail->Port = 465; // set the port to use
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "sender@gmail.com"; // your SMTP username or your gmail username
$mail->Password = "mypasswrord"; // your SMTP password or your gmail password
$from = "webmaster@example.com"; // Reply to this email
$to="receiver@yahoo.com"; // Recipients email ID
$name="Jersey Name"; // Recipient's name
$mail->From = $from;
$mail->FromName = "Webmaster"; // Name to indicate where the email came from when the recepient received
$mail->AddAddress($to,$name);
$mail->AddReplyTo($from,"Webmaster");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = "Sending Email From Php Using Gmail";
$mail->Body = "This Email Send through phpmailer, This is the HTML BODY "; //HTML Body
$mail->AltBody = "This is the body when user views in plain text format"; //Text Body
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>

我已经在php.ini中启用了ssl。

PS&GT; sender@gmail.com是一封保护隐私的掩码电子邮件。但我确实在那个部分放了一个真正的电子邮件地址

5 个答案:

答案 0 :(得分:16)

在你的php.ini中确保你已经取消注释

extension=php_openssl.dll

答案 1 :(得分:2)

只需启用extension=php_openssl.dll

即可

并按照this link

上的说明操作

我已经测试过,它正在100%工作。

答案 2 :(得分:0)

来自here

2)在class.phpmailer.php中注释掉以下代码行

/*
if(strstr($hosts[$index], ":"))
list($host, $port) = explode(":",
$hosts[$index]); else 
*/

如果您尚未尝试,请尝试此操作。

答案 3 :(得分:0)

This page的作者声称“完美无瑕地工作”。

我和他人之间唯一真正的区别在于他有:

$mail->Mailer = "smtp";

我想我会从他的代码开始,看它是否有效,然后从那里进行调试。

答案 4 :(得分:0)

<强>错误:

$mail->Host = "ssl://smtp.gmail.com"; // specify main and backup server

不可

$mail->Host = "smtp.gmail.com"; // specify main and backup server