用了很长时间去一步一步摸索, 终于先在 163 网易邮箱上测试成功了, 下面就把这个过程分享给大家
在进入正题这前先看下网易 (163) 邮箱的服务器地址和端口号:
一前期准备
使用网易邮箱, 当然要注册个账号, 这个就不用我多说了, 自己去注册
注册完之后, 就要去开启 POP3/SMTP/IMAP 服务 在开启服务时, 需要客户端授权密码(这里需要手机验证, MD 拐弯抹角的要手机号码)
步骤一:
步骤二:
确定后会弹出下面这样的对话框, 也会把这个授权密码发送你的短信里, 记住这个授权密码一定要记住
服务开启后, 如果没有设置姓名, 在写邮件发送时会提示设置姓名后才能发送邮件, 当然也可以提前设置好
二代码部分
PHPMailer 下载 ( 下载后把 PHPMailer 放在 Vendor 目录下, 另外文件中有很多不必要的东西, 自己看着处理吧)
细心的同学在 class.phpmailer.php class.pop3.php class.smtp.php 这三个文件里看下默认的端口号, 其 SMTP 的默认端口号是 25 与 163 下的 SMTP 发件服务器的非 SSL 协议端口号一样
html 布局:
收件人邮箱:
标题:
内容
config.php 配置:
- 'MAIL_HOST' =>'smtp.163.com',//smtp 服务器的名称
- 'MAIL_SMTPAUTH' =>TRUE, // 启用 smtp 认证
- 'MAIL_USERNAME' =>'zha****22@163.com',// 发件人的邮箱名
- 'MAIL_PASSWORD' =>'olagbqsyeyhilcwu',//163 邮箱发件人授权密码
- 'MAIL_FROM' =>'zha****22@163.com',// 发件人邮箱地址
- 'MAIL_FROMNAME'=>'天空还下着雪',// 发件人姓名
- 'MAIL_CHARSET' =>'utf-8',// 设置邮件编码
- 'MAIL_ISHTML' =>TRUE, // 是否 HTML 格式邮件
function.php 公共函数:
- /*
- * 发送邮件
- * @param $to string
- * @param $title string
- * @param $content string
- * @return bool
- * */
- function sendMail($to, $title, $content) {
- Vendor('PHPMailer.PHPMailerAutoload');
- $mail = new PHPMailer(); // 实例化
- $mail->IsSMTP(); // 启用 SMTP
- $mail->Host=C('MAIL_HOST'); //smtp 服务器的名称(这里以 QQ 邮箱为例)
- $mail->SMTPAuth = C('MAIL_SMTPAUTH'); // 启用 smtp 认证
- $mail->Username = C('MAIL_USERNAME'); // 发件人邮箱名
- $mail->Password = C('MAIL_PASSWORD') ; //163 邮箱发件人授权密码
- $mail->From = C('MAIL_FROM'); // 发件人地址(也就是你的邮箱地址)
- $mail->FromName = C('MAIL_FROMNAME'); // 发件人姓名
- $mail->AddAddress($to,"尊敬的客户");
- $mail->WordWrap = 50; // 设置每行字符长度
- $mail->IsHTML(C('MAIL_ISHTML')); // 是否 HTML 格式邮件
- $mail->CharSet=C('MAIL_CHARSET'); // 设置邮件编码
- $mail->Subject =$title; // 邮件主题
- $mail->Body = $content; // 邮件内容
- $mail->AltBody = "这是一个纯文本的身体在非营利的 HTML 电子邮件客户端"; // 邮件正文不支持 HTML 的备用显示
- return($mail->Send());
- }
add 方法调用:
- public function add() {
- if(SendMail($_POST['mail'],$_POST['title'],$_POST['content'])) {
- $this->success('发送成功!');
- } else {
- $this->error('发送失败');
- }
- }
做完以上工作后, 接下来访问地址, 通过表单向 163(网易)邮箱发送邮件(如: 发送给 123456@163.com), 也可以发送给自己, 发送后, 就会看到发送成功下面你可以登录邮箱查看邮件
QQ 邮箱收发邮件
QQ 邮箱收发件服务器地址和端口
准备:
1 设置邮箱独立密码
2 开启 POP3/SMTP 服务
配置:
- 'MAIL_HOST' =>'smtp.qq.com',//smtp 服务器的名称
- 'MAIL_SMTPAUTH' =>TRUE, // 启用 smtp 认证
- 'MAIL_USERNAME' =>'541****34@qq.com',// 发件人邮箱名
- 'MAIL_PASSWORD' =>'s****1241',//qq 邮箱发件人独立密码
- 'MAIL_FROM' =>'541****34@qq.com',// 发件人地址
- 'MAIL_FROMNAME'=>'恋狱',// 发件人姓名(qq 邮箱昵称)
- 'MAIL_CHARSET' =>'utf-8',// 设置邮件编码
- 'MAIL_ISHTML' =>TRUE, // 是否 HTML 格式邮件
其他无需改变, 完成后不仅可以给 QQ 邮箱用户发送邮件, 也可以给 163 邮箱用户发送邮件
来源: https://www.php1.cn/detail/php-a4189b40fa.html