为了账号安全,请及时绑定邮箱和手机立即绑定

PHPMailer配置QQ邮箱163邮箱和谷歌邮箱发送邮件

标签:
PHP
发邮件是我们平常项目中比较常用的一个功能。那么如何使用PHP代码来写一个发送邮件功能的程序呢,我今天就来给慕课网的小伙伴们介绍一下我们最常用的PHPMailer的用法,利用他可以借助QQ邮箱网易邮箱和谷歌邮箱等的免费SMTP邮件服务器来发邮件。

[TOC]

开启网易和QQ邮箱的SMTP服务

由于网易和QQ邮箱的SMTP服务默认是不开启的,谷歌的是开启的,所以小伙伴们要是选择了网易和QQ邮箱的话是需要登录到邮箱去开启的。

网易邮箱

登录到网易邮箱后如下图所示
图片描述

进入到POP3/SMTP/IMAP设置页面

图片描述

没有开启服务的小伙伴们请自己开启,开启过程中会验证一些手机号之类的,
完成后可以看到,<font color='red'>左侧栏有一个客户端授权密码的东西,这个很重要哦,一定要记下来</font>
图片描述

QQ邮箱

登录到QQ邮箱后如下图点击设置
图片描述

然后选择账户如下图

图片描述

往下拉找到如下图圈住的地方
图片描述

看看你是否开启了第一个服务器,我们开启第一个就行,如果小伙伴们没有开启就先开启吧,这里也会验证手机。

完成后我们点击生成授权码

生成后我们要复制这个授权码,(注意授权码看上去是有空格的,但是实际复制粘贴后没有空格,没有空格的才是正确的)

图片描述

好了到现在我们做了完了一些准备工作。接下来小伙伴们要准备代码了。

下载PHPMailer并开启php_openssl、php_socket扩展
  • PHPMailer在github上可以搜索到,那么每次的更新都可以看到
    地址 https://github.com/PHPMailer/PHPMailer
  • php_openssl 和php_socket 这个必须要开启的,不管你是windows还是Linux
编写代码

我们将克隆下来的代码放到服务器根目录。进入到这个PHPMailer文件夹。
新建文件index.php

网易邮箱

<?php
include_once "class.phpmailer.php";
include_once "class.smtp.php";
//获取一个外部文件的内容
$mail=new PHPMailer();
$body="<h1>欢迎大家来到慕课网学习,我们一起共同进步</h1>";
//设置smtp参数
$mail->IsSMTP();
$mail->SMTPAuth=true;
$mail->SMTPKeepAlive=true;
$mail->Host="smtp.163.com";
$mail->Port=25;
//填写你的email账号和密码
$mail->Username="13033737678@163.com";
$mail->Password="abcd*****xyz";#注意这里要填写授权码就是我在上面网易邮箱开启SMTP中提到的,不能填邮箱登录的密码哦。
//设置发送方,最好不要伪造地址
$mail->From="13033737678@163.com";
$mail->FromName="隗**";
$mail->Subject="隗**发来的一封邮件";
$mail->AltBody=$body;
$mail->WordWrap=50; // set word wrap
$mail->MsgHTML($body);
//设置回复地址
$mail->AddReplyTo("13033737678@163.com","隗**");
//添加附件,此处附件与脚本位于相同目录下否则填写完整路径
//附件的话我就注释掉了
#$mail->AddAttachment("attachment.jpg");
#$mail->AddAttachment("attachment.zip");
//设置邮件接收方的邮箱和姓名
$mail->AddAddress("1079285995@qq.com","hello");
//使用HTML格式发送邮件
$mail->IsHTML(true);
//通过Send方法发送邮件
//根据发送结果做相应处理
if(!$mail->Send()){
echo "Mailer Error:".$mail->ErrorInfo;
}else{
echo "Message has been sent";
}
?>

QQ邮箱

<?php
include_once "class.phpmailer.php";
include_once "class.smtp.php";
//获取一个外部文件的内容
$mail=new PHPMailer();
$body="<h1>欢迎大家来到慕课网学习,我们一起共同进步</h1>";
//设置smtp参数
$mail->IsSMTP();
$mail->SMTPAuth=true;
$mail->SMTPKeepAlive=true;
$mail->SMTPSecure= "ssl";
$mail->Host="smtp.qq.com";
$mail->Port=465;
//填写你的email账号和密码
$mail->Username="479714212@qq.com";
$mail->Password="abcd****xyz";#注意这里也要填写授权码就是我在上面QQ邮箱开启SMTP中提到的,不能填邮箱登录的密码哦。
//设置发送方,最好不要伪造地址
$mail->From="479714212@qq.com";
$mail->FromName="隗**";
$mail->Subject="隗**发来的一封邮件";
$mail->AltBody=$body;
$mail->WordWrap=50; // set word wrap
$mail->MsgHTML($body);
//设置回复地址
$mail->AddReplyTo("479714212@qq.com","隗**");
//添加附件,此处附件与脚本位于相同目录下否则填写完整路径
//附件的话我就注释掉了
#$mail->AddAttachment("attachment.jpg");
#$mail->AddAttachment("attachment.zip");
//设置邮件接收方的邮箱和姓名
$mail->AddAddress("1079285995@qq.com","hello");
//使用HTML格式发送邮件
$mail->IsHTML(true);
//通过Send方法发送邮件
//根据发送结果做相应处理
if(!$mail->Send()){
echo "Mailer Error:".$mail->ErrorInfo;
}else{
echo "Message has been sent";
}
?>

谷歌邮箱

这里出生在天朝的小伙伴们要注意了,因为某些原因我们上不了谷歌,因此
下面的这个操作需要小伙伴认(fan)真(qiang)操作哦。

<?php
include_once "class.phpmailer.php";
include_once "class.smtp.php";
//获取一个外部文件的内容
$mail=new PHPMailer();
$body="<h1>欢迎大家来到慕课网学习,我们一起共同进步</h1>";
//设置smtp参数
$mail->IsSMTP();
$mail->SMTPAuth=true;
$mail->SMTPKeepAlive=true;
$mail->SMTPSecure= "ssl";
$mail->Host="smtp.gmail.com";
$mail->Port=465;
//填写你的email账号和密码
$mail->Username="huangby19890920@gmail.com";
$mail->Password="abc*****xyz";#哈哈哈这里大家需要填写谷歌邮箱的登录密码
//设置发送方,最好不要伪造地址
$mail->From="huangby19890920@gmail.com";
$mail->FromName="隗**";
$mail->Subject="隗**发来的一封邮件";
$mail->AltBody=$body;
$mail->WordWrap=50; // set word wrap
$mail->MsgHTML($body);
//设置回复地址
$mail->AddReplyTo("huangby19890920@gmail.com","隗**");
//添加附件,此处附件与脚本位于相同目录下否则填写完整路径
//附件的话我就注释掉了
#$mail->AddAttachment("attachment.jpg");
#$mail->AddAttachment("attachment.zip");
//设置邮件接收方的邮箱和姓名
$mail->AddAddress("1079285995@qq.com","hello");
//使用HTML格式发送邮件
$mail->IsHTML(true);
//通过Send方法发送邮件
//根据发送结果做相应处理
if(!$mail->Send()){
echo "Mailer Error:".$mail->ErrorInfo;
}else{
echo "Message has been sent";
}
验证

163邮箱

图片描述

qq邮箱

图片描述

谷歌邮箱

呵呵这个我也是服了生在天朝,很慢,我收到了再给大家贴图。
图片描述

吐槽

最后吐槽一下网上的很多方法,要么不全,要么不对,要么没说清楚,这里我给小伙伴们算是整理并验证了一下了。希望对大家有帮助。

点击查看更多内容
32人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Python工程师
手记
粉丝
19
获赞与收藏
110

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消