TypechoJoeTheme

Dcr163的博客

统计

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

2016-06-06
/
0 评论
/
953 阅读
/
正在检测是否收录...
06/06
发邮件是我们平常项目中比较常用的一个功能。那么如何使用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邮箱

谷歌邮箱

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

吐槽

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

朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

https://dcr163.cn/83.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. William Tardent
    2024-02-27
  2. Maryann Hamer
    2024-02-27
  3. Sanora Pantano
    2024-02-24
  4. aa
    2024-02-21
  5. Kassie Baum
    2024-01-28

标签云