借助phpmailer使用gmail和163邮箱发送邮件

会写code的凳子哥 2016-01-16

http://www.solagirl.net/phpmailer_with_gmail_163.html

本地没有发邮件的服务器,借助现成的SMTP服务器发送邮件是个不错的选择,这里使用到的工具是phpmailer(Version5.2.0),SMTP服务器就选gmail和163。

1.使用gmail发送的脚本

include("class.phpmailer.php");
  
include("class.smtp.php");
  
//获取一个外部文件的内容
  
$mail             = new PHPMailer();
  
$body             = file_get_contents('contents.html');
  
$body             = eregi_replace("[\]",'',$body);
  
//设置smtp参数
  
$mail->IsSMTP();
  
$mail->SMTPAuth   = true;                
  
$mail->SMTPKeepAlive = true;               
  
$mail->SMTPSecure = "ssl";               
  
$mail->Host       = "smtp.gmail.com";   
  
$mail->Port       = 465;                
  
//填写你的gmail账号和密码
  
$mail->Username   = "[email protected]"; 
  
$mail->Password   = "password";         
  
//设置发送方,最好不要伪造地址
  
$mail->From       = "[email protected]";
  
$mail->FromName   = "Webmaster";
  
$mail->Subject    = "This is the subject";
  
$mail->AltBody    = $body;
  
$mail->WordWrap   = 50; // set word wrap
  
$mail->MsgHTML($body);
  
//设置回复地址
  
$mail->AddReplyTo("[email protected]","Webmaster");
  
//添加附件,此处附件与脚本位于相同目录下
  
//否则填写完整路径
  
$mail->AddAttachment("attachment.jpg");          
  
$mail->AddAttachment("attachment.zip"); 
  
//设置邮件接收方的邮箱和姓名
  
$mail->AddAddress("[email protected]","FirstName LastName");
  
//使用HTML格式发送邮件
  
$mail->IsHTML(true);
  
//通过Send方法发送邮件
  
//根据发送结果做相应处理
  
if(!$mail->Send()) {
  
  echo "Mailer Error: " . $mail->ErrorInfo;
  
} else {
  
  echo "Message has been sent";
  
}

2.使用163发送邮件的脚本

只需要更改SMTP配置和账户密码即可,SMTP配置如下

//设置smtp参数
 
//注意这里不需要ssl协议
 
$mail->IsSMTP();
 
$mail->SMTPAuth   = true;                
 
$mail->SMTPKeepAlive = true;               
 
$mail->Host       = "smtp.163.com";
 
$mail->Port       = 25;

在本地wampserver环境下测试通过,需要开启php_openssl扩展。

相关推荐