PHPMailer使用Gmail来发送邮件的连接smtp服务器错误

PHPMailer使用Gmail来发送邮件的连接smtp服务器错误

使用的PHPMailer版本:5.2.1

以下是PHPMailer的example文件夹里给出的:test_gamil_basic.php的部分代码。

代码如下
$mail = new PHPMailer();

$body = file_get_contents('contents.html'); //$body = $_POST['body'];

$body = eregi_replace("[]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP

$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)

// 1 = errors and messages

// 2 = messages only

$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 or ssl://smtp.gmail.com

$mail->Port = 465; // set the SMTP port for the GMAIL server

$mail->Username = "yourusername@gmail.com"; // GMAIL username

$mail->Password = "yourpassword"; // GMAIL password

$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddReplyTo("name@yourdomain.com","First Last");

$mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic";

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$address = "whoto@otherdomain.com";

$mail->AddAddress($address, "John Doe");

$mail->AddAttachment("images/phpmailer.gif"); // attachment

$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {

echo "Mailer Error: " . $mail->ErrorInfo;

} else {

echo "Message sent!";

}

按照这个例子给出的代码操作,我遇到了以下错误:

www.111cn.net提示您 smtp error could not connect to smtp host !

的错误提示,google了下,发现是需要开启PHP的openssl扩展:

extension=php_openssl.dll //去掉最前面的分号,重启apache或nginx服务器。

HoHo~成功发送。