在用户注册、找回密码等场景常用发邮件的功能,PHPMailer是一个很好的实现方案php
SMTP主机:smtp.qq.com
SMTP端口:465
SMTP的主机能够从QQ邮箱获取:路径是 设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->IMAP/SMTP服务->开启服务
注:这里要获取受权码html
<?php // 引入PHPMailer的核心文件 include("./Phpmailer/class.phpmailer.php"); include("./Phpmailer/class.smtp.php"); // 实例化PHPMailer核心类 $mail = new \PHPMailer(); // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉便可 默认关闭debug调试模式 $mail->SMTPDebug = 1; // 使用smtp鉴权方式发送邮件 $mail->isSMTP(); // smtp须要鉴权 这个必须是true $mail->SMTPAuth = true; // 连接qq域名邮箱的服务器地址 $mail->Host = 'smtp.qq.com'; // 设置使用ssl加密方式登陆鉴权 $mail->SMTPSecure = 'ssl'; // 设置ssl链接smtp服务器的远程服务器端口号 $mail->Port = 465; // 设置发送的邮件的编码 $mail->CharSet = 'UTF-8'; // 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名 $mail->FromName = 'John'; // smtp登陆的帐号 QQ邮箱便可 $mail->Username = '695634709@qq.com'; // smtp登陆的密码 第一步中qq邮箱生成的受权码 $mail->Password = 'xxxx';//从QQ邮箱设置->账户->smtp->开启获取的受权码,请根据须要获取 // 设置发件人邮箱地址 同登陆帐号 $mail->From = '695634709@qq.com'; // 邮件正文是否为html编码 注意此处是一个方法 $mail->isHTML(true); // 添加多个收件人 则屡次调用方法便可,这是示例邮箱,正常发送请填写可用的收件箱 $aEmail = [ '695634709@qq.com', 'bbb@163.com', 'ccc@126.com' ]; foreach ($aEmail as $addr) { // 设置收件人邮箱地址 $mail->addAddress($addr); // 添加该邮件的主题 $mail->Subject = 'test邮件主题'; // 添加邮件正文 $mail->Body = "<h1>send mail to {$addr}</h1>"; // 为该邮件添加附件 $mail->addAttachment('./attachment/1.jpg'); $mail->addAttachment('./attachment/2.jpg'); $mail->addAttachment('./attachment/3.jpg'); } // 发送邮件 返回状态 $status = $mail->send(); if ($status) { echo "成功"; } else { echo "失败"; }
QQ邮箱: https://mail.qq.com
PHPMailer类库: https://github.com/PHPMailer/...
原文: https://segmentfault.com/a/11...