准备工作
下载地址
代码目录
简单实例
header("Content-type:text/html;charset=utf-8");
require './PHPMailerAutoload.php';
$mail = new PHPMailer;
// 启用详细调试输出
// $mail->SMTPDebug = 3;
// 设置报错提示语言
$mail->SetLanguage('zh_cn','./language/phpmailer.lang-zh_cn.php');
// 使用SMTP
$mail->isSMTP();
// 指定SMTP服务器 可以指定多个,用,分割
$mail->Host = 'smtp.sina.com';
// 使SMTP认证
$mail->SMTPAuth = true;
// SMTP 账号
$mail->Username = 'phpmail570@sina.com';
// SMTP 密码
$mail->Password = '*********';
// 加密方式 TLS或ssl 根据smtp服务器商定
$mail->SMTPSecure = 'ssl';
// TCP端口连接 根据smtp服务器商定
$mail->Port = 465;
// 设置显示字符集
$mail->CharSet = "utf-8";
// 设置发件人地址
$mail->setFrom('phpmail570@sina.com', 'phpmail570');
// 增加一个收件人地址(邮件目的地址).
$mail->addAddress('570227234@qq.com', '尊敬的客户');
$mail->addAddress('php570@126.com', '尊敬的客户');
// 增加一个回复地址(别人回复时的地址).
$mail->addReplyTo('phpmail570@sina.com', 'phpmail570');
// 抄送地址
// $mail->addCC('php570@126.com');
// 密送地址
// $mail->addBCC('php570@126.com');
// 添加附件 不能是中文
$mail->addAttachment('./file/abc.zip');
// 设置邮件正文格式为 HTML
$mail->isHTML(true);
$mail->Subject = '邮件主题';
$mail->Body = '<h1>邮件正文</h1>
<p>
<img src="https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1453658608&di=e0d1682292c36dce638a5a5f5efc77af&src=http://pic.58pic.com/58pic/15/66/29/76Y58PICik6_1024.jpg">
</p>';
$mail->AltBody = '纯文本正文,不支持HTML的备用显示';
//发送邮件, 并且判断是否成功
if(!$mail->send()) {
echo '邮件发送失败';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo '邮件发送成功 !';
}
PHPMailer与tp框架整合
添加到第三方类库
把PHPMailer 核心文件复制到ThinkPHP/Library/Vendor/PHPMailer
初始化 PHPMailer
在Application/Common/Common/function.php 写入以下代码
/**
* [sendMail 发送邮件函数]
* @author 邱关友
* @copyright 起点工作室
* @version [V1.0版本]
* @date 2016-01-26
* @param [type] $to [接收邮箱]
* @param [type] $toname [接收姓名]
* @param [type] $title [邮件标题]
* @param [type] $content [邮件正文]
* @param string $enclosure [邮件附件]
* @return [type] [成功,返回true 失败返回false]
*/
function sendMail($to,$name,$title,$content,$enclosure=''){
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer;
//使用SMTP
$mail->isSMTP();
//指定SMTP服务器 可以指定多个,用,分割
$mail->Host = C('MAIL_HOST');
//使SMTP认证
$mail->SMTPAuth = C('MAIL_SMTP_AUTH');
//SMTP 账号
$mail->Username = C('MAIL_USER_NAME');
//SMTP 密码
$mail->Password = C('MAIL_PASSWORD');
//加密方式 TLS或ssl 根据smtp服务器商定
$mail->SMTPSecure = C('MAIL_SMTP_SECURE');
//TCP端口连接 根据smtp服务器商定
$mail->Port = C('MAIL_PORT');
$mail->CharSet = C('MAIL_CHAR_SET');
$mail->setFrom(C('MAIL_SET_FROM'), C('MAIL_SET_FROM_NAME'));
//增加一个收件人地址(邮件目的地址).
$mail->addAddress($to, $toname);
//添加附件 不能是中文
$mail->addAttachment($enclosure);
//设置电子邮件格式为 HTML
$mail->isHTML(true);
//邮件主题
$mail->Subject = $title;
//邮件正文
$mail->Body = $content;
$mail->AltBody = '纯文本正文,不支持HTML的备用显示';
//发送邮件
return $mail->send();
}
配置邮件发送服务器
在./Application/Common/Conf/config.php 写 入PHPMailer 配置信息。
//smtp服务器的名称
'MAIL_HOST' =>'smtp.sina.com',
//启用smtp认证
'MAIL_SMTP_AUTH' =>TRUE,
//你的邮箱名
'MAIL_USER_NAME' =>'phpmail570@sina.com',
//邮箱密码
'MAIL_PASSWORD' =>'******',
//加密方式
'MAIL_SMTP_SECURE'=>'ssl',
//端口
'MAIL_PORT'=>465,
//设置邮件编码
'MAIL_CHAR_SET'=>'utf-8',
//发件人地址
'MAIL_SET_FROM' =>'phpmail570@sina.com',
//发件人姓名