安装PHPMailer,命令运行:
composer require phpmailer/phpmailer
实现代码如下:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
class Email
{
public static function send($to, $subject, $body)
{
$res = ["code" => 0, "msg" => "err"];
if (!filter_var($to, FILTER_VALIDATE_EMAIL)) {
$res['msg'] = '邮箱格式错误';
} elseif (trim($subject) == '') {
$res['msg'] = '邮件主题不能为空';
} else {
$mail = new PHPMailer(true);
try {
// 服务器设置
//$mail->SMTPDebug = 2; // 启用详细调试输出
$mail->isSMTP(); // 启用 SMTP
$mail->Host = 'smtp.hilo8.com'; // SMTP 服务器地址
$mail->SMTPAuth = true; // 启用 SMTP 认证
$mail->Username = 'system@hilo8.com'; // SMTP 用户名(通常是你的邮箱地址)
$mail->Password = 'ZnsUA48tmJrCjDEE'; // SMTP 密码
$mail->SMTPSecure = 'tls'; // 启用 TLS 加密,`ssl` 也可用
$mail->Port = 587; // SMTP 端口,通常是 587 或 465(对于 ssl)
// 收件人
$mail->setFrom('system@hilo8.com', '系统邮件'); // 发件人邮箱和名称
$mail->addAddress($to); // 收件人邮箱和名称
// 内容
$mail->isHTML(true); // 设置邮件格式为 HTML
$mail->Subject = $subject;
$mail->Body = $body;
// 发送邮件
$mail->send();
$res['code'] = 1;
$res['msg'] = '邮件发送成功';
} catch (Exception $e) {
$res['msg'] = $e->getMessage();
}
}
return $res;
}
}
调用:
$to = 'service@hilo8.com';
$subject = '有新任务安排,请及时查看';
$body = '<div>明天有重要客户来访,请做好接待准备。</div>';';
$res = Email::send($to, $subject, $body);