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

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

背景

  • web 开发过程中,经常会用到邮件的发送功能,比如接收消费账单的提醒、亚马逊图书推荐的推送,或者网站不正常操作报警的邮件提示等。
  • 下面是一个在ThinkPHP 3.2.3 框架下集成 PHPMailer 使用的邮件发送功能实现过程,仅供参考,谢谢…

一、前期准备

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

STMP 简介 《百度百科》

2).开启邮箱 STMP 服务
  • 以 163.com 邮箱为例,点击上方导航栏的“设置”,选择“POP3/SMTP/IMAP”进行下面的设置
  • 着重记下服务器地址(SMTP服务器:smtp.163.com)
  • 然后点击“客户端授权密码”进行权限设置,一般会进行短信的验证,并记录下自己设定的授权登录密码,后面的代码中需要用到。

二、代码实现

1).在公共配置文件中,进行数据配置
代码语言:javascript
复制
//邮件发送 配置
  'EMAIL_CONFIG' =  array(
    'host' =  'smtp.163.com',
    'post' =  '25',
    'username' =  'xxxxxxxxxx@163.com',//TODO 邮箱账号
    'password' =  'xxxxxxx',//TODO 客户端授权密码
    'sender' =  '木头人',//TODO 发送人昵称
  ),
代码语言:javascript
复制
2).Email 核心代码如下
  • 注意 phpmailer 代码包所放的位置,以便后面的 Email 类的实例化
  • 此处代码主要是调用配置文件数据,无需变动,需要深入学习的可以自行阅读.
3).设计前端显示界面
  • 路径:./Application/M/Vieww/Email/index.html
  • 核心 js 代码如下:
代码语言:javascript
复制
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’
  • 调用邮件发送功能的核心代码为下图中红色框内三行。

三、功能实现效果

1).前端信息输入

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

邮件发送前端显示

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

成功进行邮件接收

三、附录

1).参考视频:http://coding.imooc.com/learn/list/85.html 2).源代码下载:https://github.com/JingYin007/zmPro