首先第一步   :在网上down了一个PHPMailer插件,插件地址》https://github.com/PHPMailer/PHPMailer下载解压后,这里我们只需要用到其中两个文件,如下图所示:

将class.phpmailer.php和class.smtp.php两个文件分别放置到
ThinkPHP/Library/Vendor/PHPMailer/class.phpmailer.php (注意大小写哦)
ThinkPHP/Library/Vendor/PHPMailer/class.smtp.php

注意:现在放置的是thinkPHP默认的第三方类库目录,如果在index.php定义了如define('VENDOR_PATH',APP_PATH.'Common/Vendor/'); 那么文件放置的路径要与之相同,免得出现class 'PHPMailer' not found情况。

2、创建用户自定义函数文件Application/Home/Common/function.php,放置如下函数:

 /**
* 功能:邮件发送函数
* @param string $to 目标邮箱
* @param string $subject 邮件主题(标题)
* @param string $to 邮件内容
* @return bool true
*/
function sendMail($to, $subject, $content) {
vendor('PHPMailer.class#smtp');
vendor('PHPMailer.class#phpmailer'); //注意这里的大小写哦,不然会出现找不到类,PHPMailer是文件夹名字,class#phpmailer就代表class.phpmailer.php文件名
$mail = new PHPMailer();
// 装配邮件服务器
if (C('MAIL_SMTP')) {
$mail->IsSMTP();
}
$mail->Host = C('MAIL_HOST'); //这里的参数解释见下面的配置信息注释
$mail->SMTPAuth = C('MAIL_SMTPAUTH');
$mail->Username = C('MAIL_USERNAME');
$mail->Password = C('MAIL_PASSWORD');
$mail->SMTPSecure = C('MAIL_SECURE');
$mail->CharSet = C('MAIL_CHARSET');
// 装配邮件头信息
$mail->From = C('MAIL_USERNAME');
$mail->AddAddress($to);
$mail->FromName = C('MAIL_FROMNAME');
$mail->IsHTML(C('MAIL_ISHTML'));
// 装配邮件正文信息
$mail->Subject = $subject;
$mail->Body = $content;
// 发送邮件
if (!$mail->Send()) {
return FALSE;
} else {
return TRUE;
}
}

3、上述函数中,用到C方法来加载了一些配置信息,所以我们得在配置文件里(默认/Application/Home/Conf/config.php)加入如下配置信息:

 <?php
return array(
//其他配置项省略......
// 配置邮件发送服务器
'MAIL_SMTP' => TRUE,
'MAIL_HOST' => 'smtp.163.com', //邮件发送SMTP服务器
'MAIL_SMTPAUTH' => TRUE,
'MAIL_USERNAME' => '123***@163.com', //SMTP服务器登陆用户名
'MAIL_PASSWORD' => '123456abc', //SMTP服务器登陆密码
'MAIL_SECURE' => 'tls',
'MAIL_CHARSET' => 'utf-8',
'MAIL_ISHTML' => TRUE,
'MAIL_FROMNAME' => '某某网站客户',
);

4、开始调用,假设通过网址/?m=home&c=index&a=send访问,那我们相应的在Application/Home/Controller/IndexController.class.php文件里加入方法,如下:

 <?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){ }
public function send(){
if(sendMail('vsiryxm@qq.com','你好!邮件标题','这是一篇测试邮件正文!')){
echo '发送成功!';
}
else{
echo '发送失败!';
}
}
}

PHP发送邮件功能--ThinkPHP3.2.3的更多相关文章

  1. DEDECMS会员注册如何配置邮箱发送邮件功能

    网站邮件功能是一个非常基础和有效的通信工具,配合dede会员注册邮件验证功能可以大量的拒绝垃圾注册用户.那么如何配置DEDECMS会员注册邮箱发送邮件功能?   1:配置dedecms网站发信EMAI ...

  2. Python django实现简单的邮件系统发送邮件功能

    Python django实现简单的邮件系统发送邮件功能 本文实例讲述了Python django实现简单的邮件系统发送邮件功能. django邮件系统 Django发送邮件官方中文文档 总结如下: ...

  3. Jmeter发送邮件功能SMTP Sampler

    介绍Jmeter的发送邮件功能,使用的Sampler是SMTP Sampler,详细说明每个配置项的功能 从上往下介绍需要用到的配置项: Server settings Server: 服务器地址 P ...

  4. Redmine发布新闻,自动发送邮件功能失效恢复

    问题描述:操作数据库,修改项目公开状体后,创建新闻,自动发送邮件功能失效. 问题检查和恢复测试: 1.检查管理员权限 2.重新手动配置项目公开状态,覆盖数据操作 3.对比其他正常项目数据库状态,进行恢 ...

  5. centos6.9发送邮件功能

    centos6.9发送邮件功能       第一个里程碑 测试发邮件的功能 系统环境centos 6.9     #配置发邮件 /etc/mail.rc中追加 set bsdcompat set fr ...

  6. JavaMail实现邮箱之间发送邮件功能

    package com.minstone.message.util; import java.util.Date; import java.util.Properties; import javax. ...

  7. java实现发送邮件功能

    项目中实现发送邮件功能,先书写一个小Demo,记录如下: POM.XML中导入依赖 <!-- start java 提供的支持邮件发送相关业务的类 --> <dependency&g ...

  8. 一百零五:CMS系统之flask-mail使用和邮箱配置、发送邮件功能

    安装:pip install flask-mail 官方文档:https://pythonhosted.org/Flask-Mail/ 邮箱配置 MAIL_SERVER = 'smtp.qq.com' ...

  9. 使用 SpringBoot 配置发送邮件功能

    1.使用 SpringBoot 配置发送邮件功能 项目总体结构 用户表设计 SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE sample; USE sample; ...

随机推荐

  1. 朋友的发展--->对自己深深地激励。

    从4月5号来厦门开始实习到现在,也断断续续的跟着大佬开始实现需求了,就记录下自己这一段时间的想法吧,可能未来的自己看来会觉得挺可笑的,这个春招,说实话,自己挺失败的,为了求稳,来厦门这边面试美团,以至 ...

  2. 39. leetcode 326. Power of Three

    326. Power of Three Given an integer, write a function to determine if it is a power of three. Follo ...

  3. git中常用的指令

    1.初始化仓库 git init2.设置用户名与邮箱 git config --global user.name 'name' git config --global user.email 'emai ...

  4. MyBatis-从查询昨天的数据说起

    前段时间写了<RabbitMQ入门>系列 RabbitMQ入门-初识RabbitMQ RabbitMQ入门-从HelloWorld开始 RabbitMQ入门-高效的Work模式 Rabbi ...

  5. 6,EasyNetQ-基于Topic的路由

    RabbitMQ具有非常酷的功能,基于主题的路由,允许订阅者基于多个标准过滤消息. 主题是与邮件一起发布的点分隔的单词列表. 例子是"stock.usd.nyse"或"b ...

  6. 【机器学习PAI实践一】搭建心脏病预测案例

    一.背景 心脏病是人类健康的头号杀手.全世界1/3的人口死亡是因心脏病引起的,而我国,每年有几十万人死于心脏病. 所以,如果可以通过提取人体相关的体侧指标,通过数据挖掘的方式来分析不同特征对于心脏病的 ...

  7. laravel 中使用ajax和vue总结

    最近写一个项目是基于laravel框架的,这个框架传言是为艺术而创作的优雅框架,简洁分明的风格,很吸引我,所以最近研究比较多.本次就是基于该框架然后将Vue插件加入实现一定的功能,vue插件本身强大, ...

  8. 简析SNS社交系统"ThinkSNS V4"与"ThinkSNS+"的区别

    ThinkSNS是什么? ThinkSNS(简称TS),一款全平台综合性sns社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+(简称TS+),也称 ...

  9. Oracle 高水位线和全表扫描

    --Oracle 高水位线和全表扫描--------------------------2013/11/22 高水位线好比水库中储水的水位线,用于描述数据库中段的扩展方式.高水位线对全表扫描方式有着至 ...

  10. mac制作icns图标

    Key steps:1) Prepare a 1024x1024 png or jpeg file;2) Download fasticns utility to convert the icon t ...