php 发送邮件
程序员文章站
2024-03-14 14:08:28
...
/**
* 发送邮件
* @param type $to 接收邮件者邮箱
* @param type $name 接收邮件者名称
* @param type $title 邮件主题
* @param type $content 邮件内容
* @param type $file 附件
*/
function sendMail($to,$name, $title, $content,$file)
{
$config = C('THINK_EMAIL');
// 实例化PHPMailer核心类 自行下载引用
$mail = new PHPMailer();
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
// 使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = $config['SMTP_HOST'];//'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = $config['SMTP_PORT']; //465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '';
// smtp登录的账号 QQ邮箱即可
$mail->Username = '';
// smtp登录的密码 使用生成的授权码
$mail->Password = '';
// 设置发件人邮箱地址 同登录账号
$mail->From = '[email protected]';
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
// 设置收件人邮箱地址
$mail->addAddress($to,$name);
// 添加多个收件人 则多次调用方法即可
/// 添加该邮件的主题
$mail->Subject = $title;
// 添加邮件正文
$mail->Body = $content;
// 为该邮件添加附件
//$mail->addAttachment('./example.pdf'); // 服务器邮件地址 可以设置成变量 前面传过来
//$mail->addAttachment('$file');
// 发送邮件 返回状态
$status = $mail->send();
if($status){
echo '邮件已发送';
}else{
echo "Mailer Error: " . $mail->ErrorInfo;
}
}