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 相关文章推荐
PHP新手上路(十三)
Oct 09 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
php开发微信支付获取用户地址
Oct 04 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
php源码之将图片转化为data/base64数据流实例详解
Nov 27 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
PHP7 foreach() 函数修改
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格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
javascript 短路法代码精简
2009/08/20 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
JS、jQuery中select的用法详解
2016/04/21 Javascript
js实现密码强度检验
2017/01/15 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
JS数据类型判断的几种常用方法
2020/07/07 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
python和c语言的主要区别总结
2019/07/07 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
使用python 将图片复制到系统剪贴中
2019/12/13 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
土木工程专业推荐信
2014/02/19 职场文书
志愿者宣传口号
2014/06/17 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
Python激活Anaconda环境变量的详细步骤
2021/06/08 Python