hyperf-chat/app/Support/Mailer.php

61 lines
1.5 KiB
PHP
Raw Normal View History

2020-12-19 18:06:29 +08:00
<?php
2021-09-04 18:07:53 +08:00
declare(strict_types=1);
2020-12-19 18:06:29 +08:00
namespace App\Support;
use PHPMailer\PHPMailer\PHPMailer;
/**
* Class Mail
2021-04-20 16:30:57 +08:00
*
2020-12-19 18:06:29 +08:00
* @package App\Support
*/
2021-09-04 20:18:20 +08:00
class Mailer
2020-12-19 18:06:29 +08:00
{
/**
2021-05-24 11:31:36 +08:00
* @param string $address
* @param string $subject
* @param string $view
2020-12-19 18:06:29 +08:00
* @return bool
*/
2021-05-24 11:31:36 +08:00
public function send(string $address, string $subject, string $view): bool
2020-12-19 18:06:29 +08:00
{
2021-09-04 18:07:53 +08:00
$config = config('mail');
2020-12-19 18:06:29 +08:00
try {
2021-09-04 18:07:53 +08:00
// PHPMailer对象
$mail = new PHPMailer();
// 设定邮件编码默认ISO-8859-1如果发中文此项必须设置否则乱码
$mail->CharSet = 'UTF-8';
// 设定使用SMTP服务
$mail->IsSMTP();
// 关闭SMTP调试功能
$mail->SMTPDebug = 0;
// 启用 SMTP 验证功能
$mail->SMTPAuth = true;
// 使用安全协议
$mail->SMTPSecure = 'ssl';
// SMTP 服务器
$mail->Host = $config['host'];
$mail->Port = $config['port'];
$mail->Username = $config['username'];
$mail->Password = $config['password'];
// 邮箱,昵称
$mail->SetFrom($config['from'], $config['name']);
2021-05-24 11:31:36 +08:00
$mail->Subject = $subject;
$mail->MsgHTML($view);
$mail->AddAddress($address); // 收件人
return $mail->Send();
2020-12-19 18:06:29 +08:00
} catch (\Exception $e) {
2021-05-24 11:31:36 +08:00
logger()->error($e->getTraceAsString());
2020-12-19 18:06:29 +08:00
return false;
}
}
}