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

第二步:配置配置文件
修改conf.php文件

邮件配置:
//邮件配置
'THINK_EMAIL' =>
array(
'SMTP_HOST' =>
'smtp.163.com', //SMTP服务器
'SMTP_PORT' => '465',
//SMTP服务器端口
'SMTP_USER' =>
'ihtxt@163.com', //SMTP服务器用户名
'SMTP_PASS' => 'ihtxt.com',
//SMTP服务器密码
'FROM_EMAIL' =>
'ihtxt@163.com', //发件人EMAIL
'FROM_NAME' => '爱红电子书',
//发件人名称
'REPLY_EMAIL' => 'ihtxt@163.com',
//回复EMAIL(留空则为发件人EMAIL)
'REPLY_NAME' => '爱红电子书',
//回复名称(留空则为发件人名称)
),
注:推荐使用163邮件,不要使用QQ邮箱,邮件配置一定要正确
第三步:将邮件发送函数放到common.php文件
可以将该函数放到ThinkPHPCommoncommon.php。也可以放到你生成的项目文件的Commoncommon.php。不过只能放到一个地方,否则就会报函数重定义错误。
function think_send_mail($to, $name, $subject
= '', $body = '', $attachment = null){
$config =
C('THINK_EMAIL');
vendor('PHPMailer.class#phpmailer');
//从PHPMailer目录导class.phpmailer.php类文件
$mail
= new PHPMailer();
//PHPMailer对象
$mail->CharSet
= 'UTF-8';
//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP();
// 设定使用SMTP服务
$mail->SMTPDebug
= 0;
// 关闭SMTP调试功能
// 1 =
errors and messages
// 2 =
messages only
$mail->SMTPAuth
= true;
// 启用 SMTP 验证功能
$mail->SMTPSecure =
'ssl';
// 使用安全协议
$mail->Host
=
$config['SMTP_HOST']; // SMTP 服务器
$mail->Port
=
$config['SMTP_PORT']; // SMTP服务器的端口号
$mail->Username
= $config['SMTP_USER']; //
SMTP服务器用户名
$mail->Password
= $config['SMTP_PASS']; //
SMTP服务器密码
$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
$replyEmail
=
$config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
$replyName
=
$config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
$mail->AddReplyTo($replyEmail, $replyName);
$mail->Subject
= $subject;
$mail->AltBody
= "为了查看该邮件,请切换到支持 HTML
的邮件客户端";
$mail->MsgHTML($body);
$mail->AddAddress($to,
$name);
if(is_array($attachment)){
// 添加附件
foreach ($attachment as $file){
is_file($file) && $mail->AddAttachment($file);
}
}
return
$mail->Send() ? true :
$mail->ErrorInfo;
}
第四步:使用该函数发送邮件
$r =
think_send_mail('要发送的邮箱','发送人名称,即你的名称','文件标题','邮件内容');
注:如果使用phpmailer发送邮件报错
windows下在php.ini中去掉下面的分号
extension=php_openssl.dll
并将allow_url_fopen = Off改为
allow_url_fopen = On
thinkphp使用PHPMailer发送邮件的更多相关文章
- 利用PHPMailer发送邮件时报错
利用thinkphp集成PHPMailer发送邮件时报错:Failed to connect to server: Unable to find the socket transport “ssl” ...
- ThinkPHP 中使用 PHPMailer 发送邮件 支持163和QQ邮箱等
[摘要]ThinkPHP是一个开源的PHP框架, 是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.本文介绍ThinkPHP 中使用 PHPMailer 发送邮件. PHP是自带可以发送邮件的Ma ...
- thinkphp中怎么使用phpmailer发送邮件
phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...
- ThinkPHP使用PHPmailer发送Email邮件
下面介绍thinkphp如何使用phpmailer发送邮件,使用这个邮件发送类,配置好参数后,一句话即可发送邮件.仅适合于thinkphp框架. 第一步,下载类库 将Mail.class.php复制到 ...
- Thinkphp 使用gmail发送邮件
1.Thinkphp 发送邮件内容来自:http://www.thinkphp.cn/code/32.html /** * 系统邮件发送函数 * @param string $to 接收邮件者邮箱 * ...
- 在Thinkphp3.2 中使用PHPMailer 发送邮件
phpmailer发送邮件是php开发者首选的一个邮件发送插件了,下面我来介绍怎么集成phpmailer到thinkphp框架了,有需要了解的朋友可参考. phpmailer发送邮件功能很强大,今天真 ...
- 使用PHPmailer发送邮件的详细代码
一.使用PHPMailer发送邮件的原因 PHP有内置的mail()方法,但是由于一些主机空间不支持该方法,所以经常会遇到无法发送邮件的情况. 所以,可以下载PHPMailer类,实现邮件发送. 二. ...
- PHPMailer 发送邮件(二)
发现PHPMailer又做了较大的更新,以前发送邮件的方法已不太适用,刚好要做一个实验,需要搭建个环境,这里使用Gmail进行测试,现记录下来. 传送地址Github: PHPMailer 基本要求的 ...
- 用phpmailer发送邮件提示SMTP Error: Could not connect to SMTP host解决办法
之前做项目的时候做了一个用phpmailer发送邮件的功能<CI框架结合PHPmailer发送邮件>,昨天步署上线(刚开始用新浪云,嫌贵,换成阿里了),测试的时候,发送邮件却意外报错了.. ...
随机推荐
- MarkDown的用法
# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题# 无序标题- 文本- 文本- 文本# 有序标题1. 文本2. 文本3. 文本# 图片链接[张驰博 ...
- sql存储过程中使用 output
1.sql存储过程中使用 output CREATE PROCEDURE [dbo].[P_Max] @a int, -- 输入 @b int, -- 输入 @Returnc int output - ...
- Vuex- Action的 { commit }
Vuex 中 使用 Action 处理异步请求时,常规写法如下: getMenuAction:(context) =>{ context.commit('SET_MENU_LIST',['承保2 ...
- 房上的猫:经典排序算法 - 冒泡排序Bubble sort
原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束,以此类推例子为从小到大排 ...
- 前端之 HTML🎃
HTML这知识点很多很杂,所以整理很乱.所以将就看.
- thinkinginjava学习笔记02_对象
对象 1. 对象通过一个引用来操作,但是java中的对象是按值传递的,基本上可以在操作中认为对象本身,在内部结构中仍然要记得是对象实体的引用:如:String s = "abcd" ...
- [js高手之路] vue系列教程 - 事件专题(4)
本文主要讲解事件冒泡,事件绑定的简写,事件默认行为,按键码等一系列与事件相关的知识. 一.事件绑定的简写,@事件类型. 之前我的[js高手之路] vue系列教程 - vue的事件绑定与方法(2) 用 ...
- 阿里云EMR集群初始化后的开发准备工作
前言:EMR的集群使用越来越普遍,但是每一次的集群释放到集群的重新创建,期间总有一些反复的工作需要查询与配置.为方便后续工作查阅,现在对集群初始化后的工作进行大概的梳理如下. ...
- DeepLearning.ai学习笔记(四)卷积神经网络 -- week2深度卷积神经网络 实例探究
一.为什么要进行实例探究? 通过他人的实例可以更好的理解如何构建卷积神经网络,本周课程主要会介绍如下网络 LeNet-5 AlexNet VGG ResNet (有152层) Inception 二. ...
- Lottie的使用
一.简介 Lottie是Airbnb开源的一个面向IOS.Android.React Native的动画库,能分析Adobe After Effects导出的动画,并且能让原生App像使用静态素材一样 ...