第一步、添加PHPMailer类库
将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内。(在核心文件里面,建个文件夹名称为phpmailer)
第二步、添加发送邮件函数
在项目目录中的Common文件夹中的common.php文件(也是在核心文件里面的common,或者你喜欢放哪里就哪里,能调用就行)添加如下代码:
<?php
/**
* 邮件发送函数
*/
function SendMail($address,$title,$message) {
vendor(‘phpmailer.class#phpmailer‘);
$mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常
$mail->IsSMTP(); // 使用SMTP
try {
$mail->CharSet ="UTF-8";//设定邮件编码
$mail->Host = "smtp.163.com"; // SMTP server
$mail->SMTPDebug = 1;// 启用SMTP调试 1 = errors 2 = messages
$mail->SMTPAuth = true;// 服务器需要验证
$mail->Port = 25;//默认端口
$mail->Username = "[email protected]"; //SMTP服务器的用户帐号
$mail->Password = "******";//SMTP服务器的用户密码(授权秘密不是登陆秘密,艹)
$mail->AddReplyTo(‘[email protected]‘, ‘回复‘); //收件人回复时回复到此邮箱
//$mail->AddAddress($address, ‘李明‘);
//收件人如果多人发送循环执行AddAddress()方法即可 还有一个方法时清除收件人邮箱ClearAddresses()
foreach ($address as $key => $value) {
$mail->AddAddress($value[‘mail_address‘], $value[‘username‘]);
}
$mail->SetFrom(‘[email protected]‘, ‘发件人‘);//发件人的邮箱
$mail->Subject = $title;
$mail->Body = $message;
$mail->IsHTML(true);
$mail->Send();
echo "Message Sent OK";
} catch (phpmailerException $e) {
echo $e->errorMessage();//从PHPMailer捕获异常
} catch (Exception $e) {
echo $e->getMessage();
}
}
?>
第三步、在Action中发送邮件
由于ThinkPHP会自动加载common.php中的函数,所以在需要发送邮件的时候,只需要使用如下代码即可。
SendMail("[email protected]","邮件标题","邮件正文");
注意:现在的邮箱为了安全什么的都是默认关闭了stmp,需要在设置那里开启,比如163的授权。