ThinkPHP 框架下邮件发送功能

背景

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

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

ThinkPHP 框架下邮件发送功能_第1张图片

一、前期准备

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

ThinkPHP 框架下邮件发送功能_第2张图片
STMP 简介 《百度百科》

2).开启邮箱 STMP 服务

  • 以 163.com 邮箱为例,点击上方导航栏的“设置”,选择“POP3/SMTP/IMAP”进行下面的设置
  • 着重记下服务器地址(SMTP服务器:smtp.163.com)
ThinkPHP 框架下邮件发送功能_第3张图片
  • 然后点击“客户端授权密码”进行权限设置,一般会进行短信的验证,并记录下自己设定的授权登录密码,后面的代码中需要用到。
ThinkPHP 框架下邮件发送功能_第4张图片

二、代码实现

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

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

2).Email 核心代码如下

  • 注意 phpmailer 代码包所放的位置,以便后面的 Email 类的实例化
  • 此处代码主要是调用配置文件数据,无需变动,需要深入学习的可以自行阅读.
ThinkPHP 框架下邮件发送功能_第5张图片

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’
  • 调用邮件发送功能的核心代码为下图中红色框内三行。
ThinkPHP 框架下邮件发送功能_第6张图片

三、功能实现效果

1).前端信息输入

  • 注意:邮箱输入错误或者内容填写太过随意,会造成发送失败,邮件可在发送者邮箱看到,提示“抱歉,您的邮件被退回来了...”。
ThinkPHP 框架下邮件发送功能_第7张图片
邮件发送前端显示

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

  • 如果操作正常,上面输入的邮箱中会接收到对应的邮件,但是有的可能会在自己的“垃圾箱”中,注意查收.
ThinkPHP 框架下邮件发送功能_第8张图片
成功进行邮件接收

三、附录

1).参考视频

2).源代码下载

你可能感兴趣的:(ThinkPHP 框架下邮件发送功能)