长沙网站开发_PHPMailer邮件类的用法

发布日期:2016-08-26 07:58

首先下载PHPMailer文件包phpmailer.然后把文件上传到您网站的公共目录下,最后在需要的文件中引入class.phpmailer.php与class.smtp.php。此处以微软的Outlook邮箱为例,网易邮箱,qq邮箱,谷歌邮箱多为ssl协议,微软邮箱为tls协议

Outlook smtp服务器参数

名称: smtp-mail.outlook.com

端口: 587

加密方法: TLS

office365 smtp服务器参数

名称: smtp.office365.com

端口: 587

加密方法: TLS

<?php

//include("class.phpmailer.php");

require_once('/PHPMailer/class.phpmailer.php');

require_once('/PHPMailer/class.smtp.php');

$mail = new PHPMailer();

//首先实例化

$mail->IsSMTP();   //设定使用SMTP服务 

//$mail->SMTPDebug = 1;  启用SMTP调试功能

$mail->SMTPAuth   = true;  //启用 SMTP 验证功能 

$mail->SMTPKeepAlive = true;  //保持连接,关闭则是SmtpClose()默认false.

$mail->SMTPSecure = "tls";      // Outlook安全协议 常用协议tls与ssl

$mail->Host  = 'smtp-mail.outlook.com';   // SMTP 服务器

$mail->Port  = 587;    // SMTP 服务器端口 TLS端口为587,SSL端口为465或者994

//填写你的账号和密码

$mail->Username   = "xxxx@live.cn";  // SMTP服务器用户名

$mail->Password   = "*********";    // SMTP服务器密码

//设置发送方,与上面邮件服务器信息一致

$mail->From       = "xxxx@live.cn";

$mail->FromName   = "*********"; 

//$mail->SetFrom('发件人地址,如admin@admin.com', '发件人名称');  //增加一个邮件发件人地址,也可以替代上方的$mail->From与$mail->FromName.

$mail->AltBody    = "请使用支持html的邮件客户端"; // AltBody纯文本正文,不支持HTML的备用显示

/主题

$mail->Subject    = "(请根据以下邮件信息回复,不能直接回复此邮件)";

$mail->WordWrap   = 50; // 达到一定数目自动换行

/ml邮件内容

$mail->MsgHTML($body);  

//设置回复地址  

$mail->AddReplyTo("回复地址","回复人昵称");

//设置邮件接收方的邮箱和姓名  

$mail->AddAddress("接收人","接收人昵称"); 

$mail->ClearAddresses(); //清除所有收件人地址,返回无效.
 
$mail->ClearReplyTos();  //清除所有回复地址,返回无效.

//指定字符编码

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

//使用HTML格式发送邮件  

$mail->IsHTML(true);

//$mail->Send();  发送邮件

//通过Send方法发送邮件,可以根据发送结果做相应处理

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

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

  exit();

} else {

  echo "Message sent!恭喜,邮件发送成功!";

    exit();

}

?>

要注意的内容: 

1.邮件的字符集设置, $mail->CharSet = "utf-8"; (部分邮箱未指定编码可能会乱码)

2.如果你想用它来群发邮件的话,记得修改包含文件函数,如: 

require("phpmailer/class.phpmailer.php"); 改为 require_once("phpmailer/class.phpmailer.php"); 否则的话会产生类的重定义。 

        3.同时发送多封邮件时需要用到清除上一次收件人地址与回复地址 $mail->ClearAddresses(); 与$mail->ClearReplyTos();

以上信息由长沙网站建设--长沙蒲公英网络收集与整理,禁止用于任何商业行为