ThinkPHP3.2.3框架邮件发送功能图文实例详解


Posted in PHP onApril 23, 2019

本文实例讲述了ThinkPHP3.2.3框架邮件发送功能。分享给大家供大家参考,具体如下:

背景

  • web 开发过程中,经常会用到邮件的发送功能,比如接收消费账单的提醒、亚马逊图书推荐的推送,或者网站不正常操作报警的邮件提示等。

  • 下面是一个在ThinkPHP 3.2.3 框架下集成 PHPMailer 使用的邮件发送功能实现过程,仅供参考,谢谢...

ThinkPHP3.2.3框架邮件发送功能图文实例详解

一、前期准备

1).首先对 STMP 的知识稍作了解

ThinkPHP3.2.3框架邮件发送功能图文实例详解 STMP 简介 《百度百科》

2).开启邮箱 STMP 服务

  • 以 163.com 邮箱为例,点击上方导航栏的“设置”,选择“POP3/SMTP/IMAP”进行下面的设置
  • 着重记下服务器地址(SMTP服务器:smtp.163.com)

ThinkPHP3.2.3框架邮件发送功能图文实例详解

  • 然后点击“客户端授权密码”进行权限设置,一般会进行短信的验证,并记录下自己设定的授权登录密码,后面的代码中需要用到。

ThinkPHP3.2.3框架邮件发送功能图文实例详解

二、代码实现

1).在公共配置文件中,进行数据配置

//邮件发送 配置
  'EMAIL_CONFIG' => array(
    'host' => 'smtp.163.com',
    'post' => '25',
    'username' => 'xxxxxxxxxx@163.com',//TODO 邮箱账号
    'password' => 'xxxxxxx',//TODO 客户端授权密码
    'sender' => '木头人',//TODO 发送人昵称
  ),

2).Email 核心代码如下

  • 注意 phpmailer 代码包所放的位置,以便后面的 Email 类的实例化
  • 此处代码主要是调用配置文件数据,无需变动,需要深入学习的可以自行阅读.

ThinkPHP3.2.3框架邮件发送功能图文实例详解

3).设计前端显示界面

  • 路径:./Application/M/Vieww/Email/index.html
  • 核心 js 代码如下:
function send() {
    var toUrl = "{:U('Email/send')}";
    var postData = $("#form-email").serialize();
    $.ajax({
      type: "POST",
      url: toUrl,
      data: postData,
      dataType: "json",
      success: function (res) {
        layer.msg(res.message);
      }
    });
  }

4).后台代码

  • 路径:‘.\Application\M\Controller\EmailController.class.php'
  • 调用邮件发送功能的核心代码为下图中红色框内三行。

ThinkPHP3.2.3框架邮件发送功能图文实例详解

三、功能实现效果

1).前端信息输入

  • 注意:邮箱输入错误或者内容填写太过随意,会造成发送失败,邮件可在发送者邮箱看到,提示“抱歉,您的邮件被退回来了...”。

ThinkPHP3.2.3框架邮件发送功能图文实例详解 邮件发送前端显示

2).接收邮箱的成功接收

  • 如果操作正常,上面输入的邮箱中会接收到对应的邮件,但是有的可能会在自己的“垃圾箱”中,注意查收.

ThinkPHP3.2.3框架邮件发送功能图文实例详解 成功进行邮件接收

三、附录

1).参考视频:http://coding.imooc.com/learn/list/85.html

2).源代码下载:https://github.com/JingYin007/zmPro

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
类的另类用法--数据的封装
Oct 09 PHP
一个好用的分页函数
Nov 16 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
PHP防CC攻击实现代码
Dec 29 PHP
PHP时间戳与日期之间转换的实例介绍
Apr 19 PHP
Drupal7中常用的数据库操作实例
Mar 02 PHP
PHP多线程类及用法实例
Dec 03 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 PHP
PHP信号处理机制的操作代码讲解
Apr 19 #PHP
CentOS7编译安装php7.1的教程详解
Apr 18 #PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 #PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 #PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 #PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 #PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 #PHP
You might like
php下删除一篇文章生成的多个静态页面
2010/08/08 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
2018/08/29 Javascript
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
js实现一个简易计算器
2020/03/30 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
python机器学习实战之K均值聚类
2017/12/20 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
python实现小世界网络生成
2019/11/21 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
财务助理岗位职责
2013/11/10 职场文书
影子教师研修方案
2014/06/14 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书