首先,博主使用的thinkphp版本为:3.2.2
然后呢,博主使用的phpmailer的压缩包在:链接: http://pan.baidu.com/s/1bFHDU2 提取密码: wmmq
接下来就说一下,使用方法:
1.先将下载的压缩包解压缩,得到PHPMailer文件夹,文件里里面包含:class.phpmailer.php和class.smtp.php两个文件。注意:这里提到的文件的文件名都不能随意更改,否则可能会出错,报错找不到phpMailer类。
2.把PHPMailer文件夹复制到thinkphp项目的‘\core\Library\Vendor\’下面,操作成功的话应该是这样的目录结构:D:\phpStudy\WWW\“我是公司项目名称”\core\Library\Vendor\PHPMailer
3.在Common文件夹下的function.php文件中添加如下代码:
/**
* 使用phpmailer发送邮件
*/
function SendMail($address,$title,$message)
{
vendor('PHPMailer.class#phpmailer');
$mail = new \PHPMailer();
// 设置PHPMailer使用SMTP服务器发送Email
$mail->IsSMTP();
// 设置可以发送html格式的内容
$mail->isHTML(true);
// 设置邮件的字符编码,若不指定,则为'UTF-8'
$mail->CharSet = 'UTF-8';
// 添加收件人地址,可以多次使用来添加多个收件人
$mail->AddAddress($address);
// 添加附件,并指定名称
// $mail->AddAttachment('Static/Doc/11111.xlsx','测试附件名称.xls');
// 设置邮件正文
$mail->Body = $message;
// 设置邮件头的From字段。
$mail->From = C('MAIL_ADDRESS');
// 设置发件人名字
$mail->FromName = C('MAIL_SENDER');
// 设置邮件标题
$mail->Subject = $title;
// 设置SMTP服务器。
$mail->Host = C('MAIL_SMTP');
// 设置为“需要验证”
$mail->SMTPAuth = true;
// 设置用户名和密码。
$mail->Username = C('MAIL_LOGINNAME');
$mail->Password = C('MAIL_PASSWORD');
// 发送邮件。
return ($mail->Send());
}
4.接下来就要在\Common\Conf\config.php文件中添加如下代码:
//发送邮件
'MAIL_ADDRESS'=>'####@***', // 邮箱地址
'MAIL_SMTP'=>'smtp.***.qq.com', // 邮箱SMTP服务器
'MAIL_LOGINNAME'=>'####@***(跟邮箱地址相同)', // 邮箱登录帐号
'MAIL_PASSWORD'=>'你的密码', // 邮箱密码
'MAIL_SENDER'=>'你的名字', //发件人名字
这里补充一下,这里的邮箱地址填写的是发件人地址,SMTP服务器看你使用谁的SMTP服务器。哦,我还要提一下,这里我使用的是腾讯企业邮箱来发送邮件的。发送的邮箱不同,设置也会不同。
5.最后就可以在Controller里面写一个action来调用发送邮件的方法了:
public function test(){
set_time_limit(0);
$re = SendMail("***@qq.com","这是一封测试邮件",'
<table border="1">
<th>日销售额</th>
<th>累计销售额</th>
<th>日押金收入</th>
<th>押金总额</th>
<tr><td>13800</td><td>138000</td><td>2760</td><td>5520</td></tr>
</table>');
dump($re);
}