thinkphp实现163、QQ邮箱收发邮件的方法


Posted in PHP onDecember 18, 2015

用了很长时间去一步一步摸索,终于先在163 网易邮箱上测试成功了,下面就把这个过程分享给大家。

在进入正题这前先看下网易(163)邮箱的服务器地址和端口号:

thinkphp实现163、QQ邮箱收发邮件的方法

一、前期准备

使用网易邮箱,当然要注册个账号,这个就不用我多说了,自己去注册。。。

注册完之后,就要去开启 POP3/SMTP/IMAP服务。 在开启服务时,需要客户端授权密码(这里需要手机验证,MD拐弯抹角的要手机号码)。

步骤一:

thinkphp实现163、QQ邮箱收发邮件的方法

步骤二:

thinkphp实现163、QQ邮箱收发邮件的方法

确定后会弹出下面这样的对话框,也会把这个授权密码发送你的短信里,记住这个授权密码一定要记住

thinkphp实现163、QQ邮箱收发邮件的方法

服务开启后,如果没有设置【姓名】,在写邮件发送时会提示设置【姓名】后才能发送邮件,当然也可以提前设置好。。

thinkphp实现163、QQ邮箱收发邮件的方法

二、代码部分

PHPMailer下载 ( 下载后把PHPMailer放在Vendor目录下,另外文件中有很多不必要的东西,自己看着处理吧)

细心的同学在 class.phpmailer.php  class.pop3.php  class.smtp.php 这三个文件里看下默认的端口号,其SMTP的默认端口号是25 与 163下的SMTP发件服务器的非SSL协议端口号一样。

html布局:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <form action="__URL__/add" method="post" enctype="multipart/form-data">
 收件人邮箱:<input type="text" name="mail"/>
 标题:<input type="text" name="title"/>
 内容<input type="text" name="content"/>
 <input class="button" type="submit" value="发送"/>
 </form>
</body>
</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邮箱收发件服务器地址和端口

thinkphp实现163、QQ邮箱收发邮件的方法

准备:
1、设置邮箱独立密码
2、开启POP3/SMTP服务

thinkphp实现163、QQ邮箱收发邮件的方法

配置:

'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邮箱用户发送邮件。

以上就是thinkphp实现163等邮箱收发邮件的方法,希望对大家的学习有所帮助。

PHP 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
PHP入门速成教程
Mar 19 PHP
一个简单且很好用的php分页类
Oct 26 PHP
开源php中文分词系统SCWS安装和使用实例
Apr 11 PHP
php精确的统计在线人数的方法
Oct 21 PHP
php经典算法集锦
Nov 14 PHP
PHP实现数组array转换成xml的方法
Jul 19 PHP
浅析Laravel5中队列的配置及使用
Aug 04 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
WordPress中注册菜单与调用菜单的方法详解
Dec 18 #PHP
讲解WordPress开发中一些常用的debug技巧
Dec 18 #PHP
详解WordPress中给链接添加查询字符串的方法
Dec 18 #PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
Dec 18 #PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 #PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 #PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 #PHP
You might like
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php抓即时股票信息
2006/10/09 PHP
php SQL之where语句生成器
2009/03/24 PHP
smarty中常用方法实例总结
2015/08/07 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
python八皇后问题的解决方法
2018/09/27 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
戴森美国官网:Dyson美国
2016/09/11 全球购物
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
英国著名书店:Foyles
2018/12/01 全球购物
类的核心特性有哪些
2014/01/01 面试题
劳资人员岗位职责
2013/12/19 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
2015年父亲节寄语
2015/03/23 职场文书
小学班长竞选稿
2015/11/20 职场文书