TP5使用PHPMAILER发送邮件
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发送邮件的更多相关文章
- 利用PHPMailer发送邮件时报错
利用thinkphp集成PHPMailer发送邮件时报错:Failed to connect to server: Unable to find the socket transport “ssl” ...
- 使用PHPmailer发送邮件的详细代码
一.使用PHPMailer发送邮件的原因 PHP有内置的mail()方法,但是由于一些主机空间不支持该方法,所以经常会遇到无法发送邮件的情况. 所以,可以下载PHPMailer类,实现邮件发送. 二. ...
- ThinkPHP 中使用 PHPMailer 发送邮件 支持163和QQ邮箱等
[摘要]ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本文介绍ThinkPHP 中使用 PHPMailer 发送邮件. PHP是自带可以发送邮件的Ma ...
- 在Thinkphp3.2 中使用PHPMailer 发送邮件
phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...
- PHPMailer 发送邮件(二)
发现PHPMailer又做了较大的更新,以前发送邮件的方法已不太适用,刚好要做一个实验,需要搭建个环境,这里使用Gmail进行测试,现记录下来. 传送地址Github: PHPMailer 基本要求的 ...
- 用phpmailer发送邮件提示SMTP Error: Could not connect to SMTP host解决办法
之前做项目的时候做了一个用phpmailer发送邮件的功能<CI框架结合PHPmailer发送邮件>,昨天步署上线(刚开始用新浪云,嫌贵,换成阿里了),测试的时候,发送邮件却意外报错了.. ...
- thinkphp使用PHPMailer发送邮件
第一步:准备PHPMailer 使用PHPMailer发送邮件,首先下载个PHPMailer 将下载的PHPMailer放到ThinkPHP文件夹里面的ThinkPHPExtendVendor 第二步 ...
- PHPMailer发送邮件中文附件名是乱码
可能使用了PHPMailer发送邮件的朋友带中文附件名时会出现乱码,下面我来介绍一个解决办法. 比如我们要发送的附件是"测试.txt",如果在添加附件的时候强制使用指定文件名的方式 ...
- phpmailer发送邮件
phpmailer发送邮件 PHP内置的mail函数使用起来不够方便,另外受其他语言的影响,博主更偏好面向对象的包管理模式,因此phpmailer成为了我用PHP发送邮件的首选,这里分享给大家. 库导 ...
随机推荐
- Ajax---概念介绍
Ajax不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分网页的技术. 运用HTML和CSS来实现页面,表达信息: 运用XMLHttpRequest和Web服务器进行数据的异步交换: ...
- 【bzoj1345】[Baltic2007]序列问题Sequence 单调栈
题目描述 对于一个给定的序列a1, …, an,我们对它进行一个操作reduce(i),该操作将数列中的元素ai和ai+1用一个元素max(ai,ai+1)替代,这样得到一个比原来序列短的新序列.这一 ...
- VS2013下配置OpenCV 3.0.0 &&& VS2013下配置Opencv2.4.9
最近做图像需要用到Matlab和OpenCV,一些东西真的是要深入的研究进去才会有所发现,但Matlab和C++都不是我擅长的语言,所以要很加油很加油才行啊!! 步入正题. 1. 环境:Win7 6 ...
- [codevs1746][NOI2002]贪吃的九头龙
[codevs1746][NOI2002]贪吃的九头龙 试题描述 传说中的九头龙是一种特别贪吃的动物.虽然名字叫"九头龙",但这只是说它出生的时候有九个头,而在成长的过程中,它有时 ...
- 使用redis实现简单的锁机制
在测试第三方账号注册时,授权拉取后,如果两台手册同时点击注册按钮,数据库中就会新增两天一模一样的数据,而我们的需求是一个第三方账号只能绑定一个账号,所以,由此现象可以知道,这里产生了并发访问,我们应该 ...
- bzoj 3507 DP+哈希
[Cqoi2014]通配符匹配 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 541 Solved: 235[Submit][Status][Dis ...
- pagination用法
pagination用法: 1.html 要用两层div <script src="${app }/pc/js/media/pagination.js"></s ...
- Java并发编程--CyclicBarrier
概述 CyclicBarrier是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点.与CountDownLatch不同的是该barrier在释放等待线程后可以重用,所以称它为循环(Cyc ...
- bzoj4418 [Shoi2013]扇形面积并
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4418 [题解] 被题目名称吓死系列. 用一棵线段树维护当前有哪些半径. 那么将扇形差分,每段 ...
- 转圈游戏(NOIP2013)
原题传送门 好吧,这道题很水,, 首先我们一看,这就是一道快速幂的题目,k那么大... 然后第X个人的答案就是(x+m*10^k)%n啦!! 好吧,这道题没有什么注意事项 太水了 #include&l ...