1、下载phpmailer压缩包
1) 从 github 上下载:https://github.com/PHPMailer/PHPMailer/
2) 使用 composer 安装: composer require phpmailer/phpmailer
2、公用方法代码
/**
* 发送邮件
* @param string|array $mailto 目标邮箱(发送多目标邮箱时,则该值为数组)
* @param string $subject 邮件标题
* @param string $content 邮件正文内容
* @return bool
* @throws Exception
*/
function sendEmail($mailto = '', $subject = '', $content = '')
{
// 实列化PHPMailer,同时传递true表示启用异常机制
$mail = new PHPMailer(true);
try {
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式,
// 可选择的值有 1 、 2 、 3
$mail->SMTPDebug = 0; // 启用调试
$mail->isSMTP(); // 设置mailer使用简单的邮件传输协议
$mail->Host = 'smtp.163.com'; // SMTP服务器
$mail->SMTPAuth = true; // 允许 SMTP 认证
$mail->Username = 'h001@163.com'; // SMTP 用户名 即邮箱的用户名
$mail->Password = '******'; // SMTP 密码 部分邮箱是授权码(例如163邮箱)
$mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议
$mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持
$mail->CharSet = 'utf-8'; //设定邮件编码 也可选 GB2312
//Recipients
//设置smtp的helo消息头 这个可有可无 内容任意
// $mail->Helo = 'Hello smtp.qq.com Server';
//设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
// $mail->Hostname = 'http://www.lsgogroup.com';
$mail->setFrom('h001@163.com', 'H先生'); //发件人信息
//$mailto 为收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可
//判断是否为多目标邮箱
if(is_array($mailto)){
//是数组则为多邮箱,则循环调用
foreach ($mailto as $v){
$mail->addAddress($v); // 发送到的目标邮箱
}
} else {
//非数组则只调用一次
$mail->addAddress($mailto); // 发送到的目标邮箱
}
//$mail->addAddress('ellen@example.com'); // 可添加多个收件人
//$mail->addReplyTo('xxxx@163.com', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致
//$mail->addCC('cc@example.com'); //抄送
//$mail->addBCC('bcc@example.com'); //密送
//发送附件
//为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
// $mail->addAttachment('../xy.zip'); // 添加附件
// $mail->addAttachment('../thumb-1.jpg', 'new.jpg'); // 发送附件并且重命名
//Content
$mail->isHTML(true); // 是否以HTML文档格式发送,发送后客户端可直接显示对应HTML内容
$mail->Subject = $subject; // 发送邮箱的标题
$mail->Body = $content; // 发送邮箱的正文
$mail->AltBody = '您的邮件客户端不支持HTML内容的显示'; //如果邮件客户端不支持HTML则显示此内容
//发送成功返回 1
return $mail->send();
}catch (Exception $e) {
//exception($mail->ErrorInfo, 1001);
return -1;
}
}
//单一目标调用
halt(sendEmail('h001@163.com','测试邮件','<h1>这是邮件内容中的标题</h1><br><a href="https://www.djlog.cn">跳转DjLog博客</a>'));
//多目标调用
halt(sendEmail(['h001@163.com','h002@163.com'],'测试邮件','<h1>这是邮件内容中的标题</h1><br><a href="https://www.djlog.cn">跳转DjLog博客</a>'));
感谢分享,以后会常来逛逛的
客气客气