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 相关文章推荐
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
PHP5+UTF8多文件上传类
Oct 17 PHP
PHP 事件机制(2)
Mar 23 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
$_GET['goods_id']+0 的使用详解
Jun 06 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
Dec 25 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
PHP的几个常用加密函数
Feb 03 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
PHP调用接口API封装的例子
Oct 11 PHP
PHP7 错误处理机制修改
Mar 09 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 Try Catch异常测试
2009/03/01 PHP
php下将XML转换为数组
2010/01/01 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
linux mint下安装phpstorm2020包括JDK部分的教程详解
2020/09/17 PHP
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
Python复数属性和方法运算操作示例
2017/07/21 Python
python的mysqldb安装步骤详解
2017/08/14 Python
TensorFlow如何实现反向传播
2018/02/06 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
python 操作excel表格的方法
2020/12/05 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
大学生求职自荐信
2013/12/12 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
我的中国梦主题班会
2015/08/14 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python