首先,下载PHPmailer。
解压到ThinkPHP\Library\Vendor。
然后在Common文件夹中新建function.php文件
<?php
/**
* 功能:邮件发送函数
* @param string $to 目标邮箱
* @param string $subject 邮件主题(标题)
* @param string $to 邮件内容
* @return bool true
*/
function sendMail($to, $subject, $content) {
header('Content-Type:text/html;Charset=utf-8');
vendor('PHPMailer.class#smtp');
vendor('PHPMailer.class#phpmailer'); //注意这里的大小写哦,不然会出现找不到类,PHPMailer是文件夹名字,class#phpmailer就代表class.phpmailer.php文件名
$mail = new PHPMailer();
// 装配邮件服务器
if (C('MAIL_SMTP')) {
$mail->IsSMTP();
}
$mail->Host = C('MAIL_HOST'); //这里的参数解释见下面的配置信息注释
$mail->SMTPAuth = C('MAIL_SMTPAUTH');
$mail->Username = C('MAIL_USERNAME');
$mail->Password = C('MAIL_PASSWORD');
$mail->SMTPSecure = C('MAIL_SECURE');
$mail->CharSet = C('MAIL_CHARSET');
$mail->Port = 465;
// 装配邮件头信息
$mail->From = C('MAIL_USERNAME');
$mail->AddAddress($to);
$mail->FromName = C('MAIL_FROMNAME');
$mail->IsHTML(C('MAIL_ISHTML'));
// 装配邮件正文信息
$mail->Subject = $subject;
$mail->Body = $content;
// 发送邮件
if (!$mail->Send()) {
return FALSE;
} else {
return TRUE;
}
}
添加config配置文件
<?php
return array(
//'配置项'=>'配置值'
'MAIL_SMTP' => TRUE,
'MAIL_HOST' => 'smtp.163.com', //邮件发送SMTP服务器
'MAIL_SMTPAUTH' => TRUE,
'MAIL_USERNAME' => '*********', //SMTP服务器登陆用户名
'MAIL_PASSWORD' => '**********', //SMTP设置给的授权码
'MAIL_SECURE' => 'ssl',
'MAIL_CHARSET' => 'UTF-8',
'MAIL_ISHTML' => TRUE,
'MAIL_FROMNAME' => '', //发件人昵称
);
然后在控制器中调用
SendMail($email,'$from_name','$content');
# $email 要发送的邮件地址
# $from_name 昵称
# $content 邮件内容
在邮箱中检查邮件,若一些细节没设置好,后内容敏感可能会被分为垃圾邮件,存放到目标邮箱的垃圾箱中。
上文参考这里