以前使用qq邮箱、163服务器发送邮件,帐号直接使用密码,现在不行了,得使用授权码,简单记录下

1、首先开通POP3/SMTP服务,qq邮箱——帐号——设置,找到POP3/SMTP点开启,输入短信会有授权码,复制好,发送邮件需要用到

2、下载phpmailer:https://github.com/PHPMailer/PHPMailer

下载后只取用到的:

class.phpmailer.php、class.phpmaileroauth.php、class.pop3.php、class.smtp.php、PHPMailerAutoload.php。 

3、写代码发邮件

test.php

<?php
/*发送邮件方法
*@param $to:接收者 $title:标题 $content:邮件内容
*@return bool true:发送成功 false:发送失败
*/
function sendMail($to,$title,$content){ //引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告
require_once("phpmailer/class.phpmailer.php");
require_once("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';//163邮箱:smtp.163.com //设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';//163邮箱就注释 //设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587
$mail->Port = 465;//163邮箱:25 //设置smtp的helo消息头 这个可有可无 内容任意
// $mail->Helo = 'Hello smtp.qq.com Server'; //设置发件人的主机域 可有可无 默认为localhost 内容任意,建议使用你的域名
$mail->Hostname = 'http://localhost/'; //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
$mail->CharSet = 'UTF-8'; //设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = 'xxxxx'; //smtp登录的账号 这里填入字符串格式的qq号即可
$mail->Username ='xxxxx@qq.com'; //smtp登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码)
$mail->Password = '填写第1步获取的授权码';//163邮箱也有授权码 进入163邮箱帐号获取 //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
$mail->From = 'xxxxx@qq.com'; //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
$mail->isHTML(true); //设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
$mail->addAddress($to,'爱代码,爱生活世界'); //添加多个收件人 则多次调用方法即可
// $mail->addAddress('xxx@163.com','爱代码,爱生活世界'); //添加该邮件的主题
$mail->Subject = $title; //添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
$mail->Body = $content; //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称
// $mail->addAttachment('./d.jpg','mm.jpg');
//同样该方法可以多次调用 上传多个附件
// $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js'); $status = $mail->send(); //简单的判断与提示信息
if($status) {
return true;
}else{
return false;
}
} //测试
$flag = sendMail('xxxxxx@163.com','注册成功','恭喜你加入爱代码,爱生活世界');
if($flag){
echo "发送邮件成功!";
}else{
echo "发送邮件失败!";
}

phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码的更多相关文章

  1. java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例

    研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...

  2. Thinkphp3.2 PHPMailer 发送 QQ邮箱 163邮箱

    在进入正题这前先看下网易(163)邮箱的服务器地址和端口号 类型 服务器名称 服务器地址 SSL协议端口号 非SSL协议端口号 收件服务器 POP pop.163.com 995 110 收件服务器 ...

  3. thinkphp5发送邮件(实例代码 非常适合新手)

    第一步:在(https://pan.baidu.com/s/1Fq6lONHlft5D6jvOnNwtoA)下载 phpmailer.rar 解压 然后把文件放入 vendor目录下 第二步:在 ap ...

  4. C# 发送邮件实例代码

    1.构造附件 static List<Attachment> BuildAttachments(List<EmailFile> files) { ) { return null ...

  5. java实现邮箱发送信息--验证码的发送(163邮箱)

    1.maven环境 <!-- 发送邮件 --> <dependency> <groupId>javax.mail</groupId> <artif ...

  6. PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件

    作 为PHP入门开发者,常常有这种述求:自己的网站中需要添加一个使用自己的域名作为发件人邮件地址的自动发送邮件的方法,用于诸如给用户发送验证码.通知 信息等.比如:我的某个用户注册模块,需要使用reg ...

  7. 【PHPmailer】发送邮件(以163邮箱为例)

    1.参考TP社区:http://www.thinkphp.cn/code/989.html 2.phpmailer.rar下载地址:http://www.thinkphp.cn/code/downlo ...

  8. Java Web(十三) 使用javamail进行发送邮件,(使用QQ,163,新浪邮箱服务器)

    加油加油. --WH 一.发送邮件的原理 在了解其原理之前,先要知道两个协议,SMTP和POP3 SMTP:Simple Mail Transfer Protocol,即简单邮件传输协议,发送邮件的协 ...

  9. Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)

    Laravel自带SMTP邮件组件实现发送邮件(QQ.163.企业邮箱都可)     laravel自带SMTP邮件配置和遇到的坑 laravel自带SwiftMailer库,集成了多种邮件API,可 ...

随机推荐

  1. 易混点总结--JS

    1.defer与 async 的区别是: defer要等到整个页面在内存中正常渲染结束(DOM 结构完全生成,以及其他脚本执行完成),才会执行:async一旦下载完,渲染引擎就会中断渲染,执行这个脚本 ...

  2. STP实验(指定特定交换机为根桥)

    实验要求:将三层交换机设置为根桥交换机,并查看 拓扑如下: 涉及内容有: 1.根桥交换机的选举方式 2.生成树修改优先级成为根桥交换机 3.生成树直接指定根桥交换机 根桥交换机是根据优先级和MAC地址 ...

  3. HDU1253-胜利大逃亡 (三维BFS)

    题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1253 胜利大逃亡 Time Limit:4000/2000MS(Java/Others)Memory ...

  4. 【leetcode】409. Longest Palindrome

    problem 409. Longest Palindrome solution1: class Solution { public: int longestPalindrome(string s) ...

  5. [c++]base64编解码 and image

    //½«Í¼ÏñתΪbase64¸ñʽ vector<uchar> vecImg; //Mat ͼƬÊý¾Ýת»»Îªvector<uchar> vector< ...

  6. 四则运算V1.1

    作业:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/997 代码:https://coding.net/u/Dawnfox/p/f4 ...

  7. CodeForces 727C

    zsy: Guess the Array Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submi ...

  8. java-为什么非静态内部类中不能有static修饰的属性,但却可以有final常量?

    - 例: public class Demo{ int x; class A{ static int a = 0; //这样写是不合法的. static final int b=0; //这样写是合法 ...

  9. 服务器-华为RH2288H V3-Server 2008R2忘记登录密码操作方法

    1.插入PE盘,重启服务器. 下载地址:http://pan.baidu.com/s/1c16cP6C 密码: 18hq 注:这是支持全系列阵列卡的专用服务器PE工具,市面上的绝大多数PE在服务器中都 ...

  10. day3 zookeeper

    PS:在生产的场景中,一般有两个需求:1.提供设备的注册 2.对所注册的接口进行监听.zookeeper就是提供这样的功能,它本身就是一个集群,如果存在半数以上的节点活着就能提供服务,本身就具备很高的 ...