一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

使用PHPMailer发送邮件实例

时间:2017-04-06 编辑:简简单单 来源:一聚教程网

PHPMailer类源代码下载地址:https://github.com/PHPMailer/PHPMailerhttps://github.com/PHPMailer/PHPMailer

 

 代码如下 复制代码

/*

to:  邮件接收地址

subject: 邮件主题

body: 邮件内容

attachpath:附件地址

cc: 邮件抄送地址

bcc: 邮件暗抄送地址

*/

functionsend_mail($to,$subject="",$body="",$attachpath="",$cc="",$bcc="")

{

 // 对邮件内容进行必要的过滤

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

  

 // 设定时区

 date_default_timezone_set("PRC");

  

 require_once('class.phpmailer.php');

 require_once("class.smtp.php");

  

 // 实例化PHPMailer对象

 $mail=newPHPMailer();    

  

 // 设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8

 $mail->CharSet ="UTF-8";

  

 // 设定使用SMTP服务

 $mail->IsSMTP();

  

 // 启用 SMTP 验证功能

 $mail->SMTPAuth = true;

  

 // SMTP 安全协议

 $mail->SMTPSecure ="ssl";

  

 // SMTP 服务器

 $mail->Host ="smtp.qq.com";

  

 // SMTP服务器的端口号

 $mail->Port = 465;

  

 // SMTP服务器用户名和密码

 $mail->Username ="xxxxxx@qq.com"; 

 $mail->Password ="xxxxxx";  

  

 // 设置发件人地址和名称,名称可有可无

 $mail->SetFrom("xxxxxx@qq.com","xxxxxx");

  

 // 设置邮件接收地址和名称,第二个参数无所谓。必须用AddAddress添加邮件接收地址。AddReplyTo方法没什么用。

 //$mail->AddReplyTo("xxxxxx@163.com", "xxxxxx");

 $mailaddrs= split(",",$to);

 foreach($mailaddrsas$addres)

 {

 //校验邮箱地址是否合法

 if(filter_var($addres, FILTER_VALIDATE_EMAIL))

 {

  $mail->AddAddress($addres); 

 }

 }

  

 // 设置邮件抄送地址

 if($cc!="")

 {

 $ccaddrs= split(",",$cc);

 foreach($ccaddrsas$ccaddr)

 {

  //校验邮箱地址是否合法

  if(filter_var($ccaddr, FILTER_VALIDATE_EMAIL))

  {

  $mail->addCC($ccaddr); 

  }

 }

 }

  

 // 设置邮件暗抄送地址,私密发送

 if($bcc!="")

 {

 $bccaddrs= split(",",$bcc);

 foreach($bccaddrsas$bccaddr)

 {

  //校验邮箱地址是否合法

  if(filter_var($bccaddr, FILTER_VALIDATE_EMAIL))

  {

  $mail->addBCC($bccaddr); 

  }

 }

 }

  

 // 设置邮件主题

 $mail->Subject =$subject;

  

 // 可选项,向下兼容考虑

 $mail->AltBody ="为了查看该邮件,请切换到支持 HTML 的邮件客户端";

  

 // 设置邮件内容

 $mail->MsgHTML($body);    

  

 //使用HTML格式发送邮件

 $mail->IsHTML(true);

  

 // 添加附件,第一个参数是附件地址,第二个参数附件名

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

 $mail->AddAttachment($attachpath);

  

 // 发送邮件

 if(!$mail->Send())

 {

 echo"发送失败:".$mail->ErrorInfo . PHP_EOL;

 }

 else

 {

 echo"恭喜,邮件发送成功!". PHP_EOL;

 }

}

$emailAddr="xxxxxx@163.com,xxxxxx@qq.com,";

send_mail($emailAddr,"测试邮件","

使用PHPMailer类发送的邮件。

","mail/20170216.gif","xxxxxx@qq.com","");

?>

 

测试结果:

说明:第44行的SMTP服务器密码为qq邮箱授权码。

登录QQ邮箱->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->生成授权码

热门栏目