当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-02-05 21:22:39 浏览: 评论:0 

我们在使用PHPMailer使用Gmail来发送邮件的连接smtp服务器错误提示:smtp error could not connect to smtp host !了,这个是因为extension=php_openssl.dll未开启导致的哦。

使用的PHPMailer版本:5.2.1,以下是PHPMailer的example文件夹里给出的:test_gamil_basic.php的部分代码,代码如下:

  1. $mail = new PHPMailer();  
  2.     $body = file_get_contents('contents.html'); //$body = $_POST['body'];  
  3.     $body = eregi_replace("[]",'',$body);  
  4.     $mail->IsSMTP(); // telling the class to use SMTP  
  5.     $mail->SMTPDebug = 2; // enables SMTP debug information (for testing)  
  6.     // 1 = errors and messages  
  7.     // 2 = messages only  
  8.     $mail->SMTPAuth = true; // enable SMTP authentication  
  9.     $mail->SMTPSecure = "ssl"// sets the prefix to the servier  
  10.     $mail->Host = "smtp.gmail.com"// sets GMAIL as the SMTP server or ssl://smtp.gmail.com  
  11.     $mail->Port = 465; // set the SMTP port for the GMAIL server  
  12.     $mail->Username = "yourusername@gmail.com"// GMAIL username  
  13.     $mail->Password = "yourpassword"// GMAIL password  
  14.     $mail->SetFrom('name@yourdomain.com''First Last');  
  15.     $mail->AddReplyTo("name@yourdomain.com","First Last");  
  16.     $mail->Subject = "PHPMailer Test Subject via smtp (Gmail), basic";  
  17.     $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"// optional, comment out and test  
  18.     $mail->MsgHTML($body);  
  19.     $address = "whoto@otherdomain.com";  
  20.     $mail->AddAddress($address"John Doe");  
  21.     $mail->AddAttachment("images/phpmailer.gif"); // attachment  
  22.     $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment  
  23.     if(!$mail->Send()) {  
  24.     echo "Mailer Error: " . $mail->ErrorInfo;  
  25.     } else {  
  26.     echo "Message sent!";  
  27.     } 

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

提示您 smtp error could not connect to smtp host !的错误提示,google了下,发现是需要开启PHP的openssl扩展:

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

HoHo~成功发送。

Tags: PHPMailer Gmail 服务器错误

分享到: