TP使用PHPMAILER发送邮件

1.申请一个SMTP服务的邮箱。

我申请的是smtp.163.com的服务,注意SMTP服务密码不是登陆密码,需要单独设置

2.下载phpmailer类库文件http://pan.baidu.com/s/1kUNK9vx

3.将PHPMAILER类库中的class.phpmailer.php和class.smtp.php文件取出来,并重新命名为符合tp5命名规范的Phpmailer.php和Smtp.php

4.在项目根目录下的extend文件夹中,建立phpmailer文件夹,将上面两个改名好的文件放入其中。

5.设置Smtp.php的命名空间为namespace phpmailer;并且将CLASS SMTP改为CLASS Smtp

6.设置Phpmailer.php的命名空间为

namespace phpmailer;

Use phpmailer\Smtp;

并且将CLASS SMTP改为CLASS Phpmaiiler;

这两部很重要,如果使用原来的PHPMAILer和SMTP class名的话,TP5报错 无法找到类文件

7.在application/extra 下建立email.php文件 将在服务商申请好的邮箱服务信息,放入其中

代码如下

<?php
//发送邮件相关配置
return[
    'EMAIL_SMTP'=>'smtp.163.com',
    'EMAIL_ADDRESS'=>'zq_1xx8292xx23@163.com',
    'EMAIL_LOGINNAME'=>'zq_1xx8292xx23@163.com',
    'EMAIL_PASSWORD'=>'xxxx445864742',
    'port'=>25
];

8.在phpmailer文件夹下建立新的类库文件Email.php

代码如下:

<?php
namespace phpmailer;
use phpmailer\Phpmailer;
//发送邮件类
class Email{
    public static function send($address,$title,$message)
    {
        $Email = new Phpmailer();
        //设置PHPMailer使用SMTP服务器发送email
        $Email->IsSMTP();

//设置字符串编码
        $Email->CharSet = 'UTF-8';

//添加收件人地址,可以使用多次来添加多个收件人
        $Email->AddAddress($address);

//设置邮件正文
        $Email->Body = $message;

//设置邮件头的FROM字段
        $Email->From = config('email.EMAIL_ADDRESS');

//设置发件人名称
        $Email->FromName = '周起';

//设置邮件标题
        $Email->Subject = $title;

//设置SMTP服务器
        $Email->Host = config('email.EMAIL_SMTP');

//设置为验证码
        $Email->SMTPAuth = true;

//设置用户名密码
        $Email->Username = config('email.EMAIL_LOGINNAME');
        $Email->Password = config('email.EMAIL_PASSWORD');

//发送邮件
        return ($Email->Send());
    }
}

9.在需要使用到邮件服务的地方调用

//发送验证邮件 根据业务逻辑修改

$message = ‘hello’;

$title = '周起个人测试邮件';

$data['email'] = 445864742@qq.com  
\phpmailer\Email::send($data['email'],$title,$message);

TP5使用PHPMAILER发送邮件的更多相关文章

  1. 利用PHPMailer发送邮件时报错

    利用thinkphp集成PHPMailer发送邮件时报错:Failed to connect to server: Unable to find the socket transport “ssl” ...

  2. 使用PHPmailer发送邮件的详细代码

    一.使用PHPMailer发送邮件的原因 PHP有内置的mail()方法,但是由于一些主机空间不支持该方法,所以经常会遇到无法发送邮件的情况. 所以,可以下载PHPMailer类,实现邮件发送. 二. ...

  3. ThinkPHP 中使用 PHPMailer 发送邮件 支持163和QQ邮箱等

    [摘要]ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本文介绍ThinkPHP 中使用 PHPMailer 发送邮件. PHP是自带可以发送邮件的Ma ...

  4. 在Thinkphp3.2 中使用PHPMailer 发送邮件

    phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...

  5. PHPMailer 发送邮件(二)

    发现PHPMailer又做了较大的更新,以前发送邮件的方法已不太适用,刚好要做一个实验,需要搭建个环境,这里使用Gmail进行测试,现记录下来. 传送地址Github: PHPMailer 基本要求的 ...

  6. 用phpmailer发送邮件提示SMTP Error: Could not connect to SMTP host解决办法

    之前做项目的时候做了一个用phpmailer发送邮件的功能<CI框架结合PHPmailer发送邮件>,昨天步署上线(刚开始用新浪云,嫌贵,换成阿里了),测试的时候,发送邮件却意外报错了.. ...

  7. thinkphp使用PHPMailer发送邮件

    第一步:准备PHPMailer 使用PHPMailer发送邮件,首先下载个PHPMailer 将下载的PHPMailer放到ThinkPHP文件夹里面的ThinkPHPExtendVendor 第二步 ...

  8. PHPMailer发送邮件中文附件名是乱码

    可能使用了PHPMailer发送邮件的朋友带中文附件名时会出现乱码,下面我来介绍一个解决办法. 比如我们要发送的附件是"测试.txt",如果在添加附件的时候强制使用指定文件名的方式 ...

  9. phpmailer发送邮件

    phpmailer发送邮件 PHP内置的mail函数使用起来不够方便,另外受其他语言的影响,博主更偏好面向对象的包管理模式,因此phpmailer成为了我用PHP发送邮件的首选,这里分享给大家. 库导 ...

随机推荐

  1. 【bzoj1927】[Sdoi2010]星际竞速 有上下界费用流

    原文地址:http://www.cnblogs.com/GXZlegend/p/6832464.html 题目描述 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军 ...

  2. [洛谷P4149][IOI2011]Race

    题目大意:给一棵树,每条边有边权.求一条简单路径,权值和等于$K$,且边的数量最小. 题解:点分治,考虑到这是最小值,不满足可减性,于是点分中的更新答案的地方计算重复的部分要做更改,就用一个数组记录前 ...

  3. [洛谷P4925][1007]Scarlet的字符串不可能这么可爱

    题目大意:问字符集大小为$k$,长度为$L$的字符串,且没有长度超过$1$的回文段的个数.规定第$s(若为0则无限制)$位为$w$. 题解:懒得写了,根据是否有限制分类讨论 卡点:中途有个地方忘记取模 ...

  4. [AT2698] Don't Be a Subsequence

    题目大意:给定一个字符串,求一个最短的串要求没有在该字符串的子串中出现过,如果有多个,输出字典序最小的那一个. 题解:倒着跑一遍原字符串(以下编号为$1\sim n$),按出现了所有$26$个字母来分 ...

  5. Lambda表达式使用2

    1.概述 本篇主要介绍lambda中常用的收集器,收集器的作用就是从数据流中生成需要的数据接口. 最常用的就是Collectors.toList(),只要将它传递给collect()函数,就能够使用它 ...

  6. Educational Codeforces Round 22 E. Army Creation

    Educational Codeforces Round 22 E. Army Creation 题意:求区间[L,R]内数字次数不超过k次的这些数字的数量的和 思路:和求区间内不同数字的数量类似,由 ...

  7. 怎样把本地的jar包引入到maven工程里面

    有些jar包在maven库里面查找不到,但是maven项目又有用到,此时最简单的方法就是把该jar包放到工程底下某个目录,然后在pom.xml里面配置dependency引入它. 具体如何操作呢? 假 ...

  8. Windows Server 创建环回网卡

    1.以管理员身份运行cmd后,在cmd命令窗口中执行:hdwwiz 启动硬件添加向导. 2.在添加硬件向导中选择手动安装或自动搜索都可以.然后选择网络适配器. 3.选择网络适配器:厂商选择Micros ...

  9. tornado 坑集合

    1.没有自己的session管理 2.path入参要用括号圈起来,才能获取到 3.接收post参数 data = json.loads(self.request.body)ddd = data[&qu ...

  10. C# 操作Excel,使用EPPlus

    EPPlus下载地址:http://www.codeplex.com/EPPlus 引用命名空间: using OfficeOpenXml; using OfficeOpenXml.Table; us ...