发送方以QQ邮箱为例:
第一步:点击设置,并选择账户
第二步:然后在帐户下,找到如下所示的开启服务部分
第三步:开启服务中,前两个选项均可实现邮件发送服务。点击开启,会出现验证提示。确认验证,成功开启POP3/SMTP服务后,就会出现以下授权码。那么此授权码就可以用于PHP实现邮件发送的开发方法中。注: 每次开启生成的授权码都会不同,安全性较高。
实现发送邮件的php代码如下:
<?php
require_once 'Email/sendMail/PHPMailer.class.php';
require_once 'Email/sendMail/SMTP.class.php';
function sendMain($to,$title,$content){
$mail = new PHPMailer;
$mail->SMTPDebug = false;
//使用smtp鉴权方式发送邮件
$mail->isSMTP();
$mail->CharSet = 'utf-8';
$mail->Host = "smtp.exmail.qq.com";
// $mail->SMTPSecure = 'ssl';
//smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// qq 邮箱的 smtp服务器地址,这里当然也可以写其他的 smtp服务器地址
$mail->Host = 'smtp.qq.com';
//smtp登录的账号 这里填入字符串格式的qq号即可
$mail->Username = '791481386@qq.com';
// 这个就是之前得到的授权码,一共16位
$mail->Password = 'yenfwvwjpmugbbef';
// $mail->Port = 465;
$mail->setFrom('791481386@qq.com');
// $to 为收件人的邮箱地址,是一维数组,遍历发送
foreach($to as $v){
$mail->addAddress($v);
}
// 该邮件的主题
$mail->Subject = $title;
// 该邮件的正文内容
$mail->Body = $content;
// 使用 send() 方法发送邮件
if(!$mail->send()) {
return '发送失败: ' . $mail->ErrorInfo;
} else {
return "发送成功";
}
}
$emails = ['18310122739@163.com','dcyd521@sina.com'];
$res = sendMain($emails,"dajiahao","试试试试");
echo $res;
引入文件下载:https://download.youkuaiyun.com/download/shenlichuang/12465971
如果出现:SMTP connect failed
解决方法:找到php.ini文件并打开,将extension=php_openssl.dll这个句代码前的“;”去掉。(这个方法我没试,仅做记录)