使用PHPMailer通过SMTP协议实现PHP发邮件功能

发布于 2021-05-13  64 次阅读


依赖的php扩展:socketopenssl

通过composer安装PHPMailer

composer require phpmailer/phpmailer

代码:

//若没有自动加载
include './vendor/phpmailer/phpmailer/src/PHPMailer.php';
include './vendor/phpmailer/phpmailer/src/SMTP.php';
include './vendor/phpmailer/phpmailer/src/Exception.php';

$mail = new PHPMailer();
//debug模式
$mail->SMTPDebug = 1;
//设置发送协议
$mail->isSMTP();
//SMTP需要权限验证
$mail->SMTPAuth = true;
//qq邮箱的smtp协议地址
$mail->Host = 'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
//SMTP远程端口号
$mail->Port = 465;
//发送邮件的编码
$mail->CharSet = 'UTF-8';
//发件人昵称
$mail->FromName = '发件人昵称';
//smtp登录的账号
$mail->Username = '123123@qq.com';
//smtp登录的密码(授权码)
$mail->Password = '1123123';
//发件人
$mail->From = '111@qq.com';
//body内容是否为html
$mail->isHTML(true);
//收件人
$mail->addAddress('123123@163.com');
//主题/标题
$mail->Subject = '这是用PHP脚本整的';
//内容
$mail->Body = '<h1>这是一个HTML的h1标签正文</h1>';
//邮件的附件
$mail->addAttachment('./robots.txt');
$status = $mail->send();

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。