$mail = new PHPMailer();
$mail_send = "xxxxx@163.com";
try {
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 0;
// 使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.163.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = 465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '系统管理员';
// smtp登录的账号 QQ邮箱即可
$mail->Username = $mail_send;//测试
// smtp登录的密码 使用生成的授权码
$mail->Password = 'xxxxxxxxxxxxxxxxxxxxxxx';//测试
// 设置发件人邮箱地址 同登录账号
$mail->From = $mail_send;//测试
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
$mail->addReplyTo($mail_send, 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致 测试
// 设置收件人邮箱地址
if ($mailData && is_array($mailData)) {//多个邮箱
foreach ($mailData as $k_m => $v_m) {
$mail->addAddress($v_m);
}
}
// 添加该邮件的主题
$mail->Subject = $filename;
// 添加邮件正文
$mail->Body = '无';
$mail->AltBody = '无';
// 为该邮件添加附件
$mail->addAttachment($abs_url);
// 发送邮件 返回状态
$status = $mail->send();
if ($status) {
unlink($abs_url);
$this->_mail_log_model::create([
'user_id' => $this->user_id,
'user_name' => $this->userInfo['name'],
'department_id' => $this->userInfo['department_id'],
'department_name' => $this->userInfo['department_name'],
'department_pids_name' => $this->userInfo['pids_name'],
'down_department_id' => $deptInfo['id'],
'down_department_name' => $deptInfo['name'],
'file_name' => $filename,
'mail_send' => $mail_send,
'mail_to' => implode(',', $mailData),
'year' => $this->year,
'quarter' => $this->quarter,
'month' => $this->month,
'day' => $this->day
]);
return ajaxReturn(true, '导出成功,请查看邮箱');
} else {
return ajaxReturn(false);
}
} catch (\Exception $exception) {
return ajaxReturn(false, $exception->getMessage());
}
邮件发送
发布于 2024-07-10 19 次阅读
Comments NOTHING