PHP插件PHPMailer发送邮件功能


Posted in PHP onFebruary 28, 2017

本文实例为大家分享了ThinkPHP3.2.3发送邮件的具体代码,供大家参考,具体内容如下

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

PHP插件PHPMailer发送邮件功能

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

PHP插件PHPMailer发送邮件功能

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

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

PHP插件PHPMailer发送邮件功能

/**
 * 功能:邮件发送函数
 * @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 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
php 页面执行时间计算代码
Dec 04 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
Jul 25 PHP
php获取网页上所有链接的方法
Apr 03 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
PHP 代码简洁之道(小结)
Oct 16 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
Aug 06 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 #PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 #PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 #PHP
PHP连接MYSQL数据库的3种常用方法
Feb 27 #PHP
php获取今日开始时间和结束时间的方法
Feb 27 #PHP
php+mysql+jquery实现日历签到功能
Feb 27 #PHP
php查找字符串中第一个非0的位置截取
Feb 27 #PHP
You might like
php数组的一些常见操作汇总
2011/07/17 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
理解JS事件循环
2016/01/07 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
python 实现绘制整齐的表格
2019/11/18 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
大学班级文化建设方案
2014/05/06 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
经济类毕业生求职信
2014/06/26 职场文书
道歉信范文
2015/05/12 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang