ThinkPHP利用PHPMailer实现邮件发送实现代码


Posted in PHP onSeptember 26, 2013

本文所使用的是ThinkPHP 2.1版和 PHPMailer 5.1版。(后者建议您直接从本博下载,因为我们不能保证下面的代码在所有版本的PHPMailer中都能正常运行)

下面是具体步骤:

第一步、添加PHPMailer类库

点击此处下载
将下载后的文件解压,将PHPMail目录移动至ThinkPHP目录中的Vendor内。(请确保class.phpmailer.php文件就在ThinkPHPVendorPHPMailerclass.phpmailer.php)

第二步、添加发送邮件函数

在项目目录中的Common文件夹中的common.php文件(如果没有请创建)添加如下代码:

<?php
/**********
 * 发送邮件 *
 **********/
function SendMail($address,$title,$message)
{
    vendor('PHPMailer.class#PHPMailer');
    $mail=new PHPMailer();
    // 设置PHPMailer使用SMTP服务器发送Email
    $mail->IsSMTP();
    // 设置邮件的字符编码,若不指定,则为'UTF-8'
    $mail->CharSet='UTF-8';
    // 添加收件人地址,可以多次使用来添加多个收件人
    $mail->AddAddress($address);
    // 设置邮件正文
    $mail->Body=$message;
    // 设置邮件头的From字段。
    $mail->From=C('MAIL_ADDRESS');
    // 设置发件人名字
    $mail->FromName='LilyRecruit';
    // 设置邮件标题
    $mail->Subject=$title;
    // 设置SMTP服务器。
    $mail->Host=C('MAIL_SMTP');
    // 设置为“需要验证”
    $mail->SMTPAuth=true;
    // 设置用户名和密码。
    $mail->Username=C('MAIL_LOGINNAME');
    $mail->Password=C('MAIL_PASSWORD');
    // 发送邮件。
    return($mail->Send());
}
?>

第三步、配置邮箱信息

编辑Conf目录下的config.php,在return array添加如下内容

    'MAIL_ADDRESS'=>'xxx@126.com', // 邮箱地址
    'MAIL_SMTP'=>'smtp.126.com', // 邮箱SMTP服务器
    'MAIL_LOGINNAME'=>'xxx', // 邮箱登录帐号
    'MAIL_PASSWORD'=>'xxx', // 邮箱密码

其中的邮箱登录帐号可能需要包括@后面的内容,请自行尝试^_^
第四步、在Action中发送邮件
由于ThinkPHP会自动加载common.php中的函数,所以在需要发送邮件的时候,只需要使用如下代码即可。
SendMail("xxx@xxx.com","邮件标题","邮件正文");

至此,本教程已经结束。撒花~~~

欢迎成功配置的同学SendMail("dreamrunner@foxmail.com","我也会用ThinkPHP发送邮件啦","哇啦哇啦~~");

还有一些说明

如果邮件正文中需要换行怎么办呢?其实,最简单的方法是——

SendMail("xxx@xxx.com","邮件标题","邮件正文
我换行啦~~!");

QQ邮箱(含foxmail)和网易的126、163都测试成功。因为近期访问GMail比较吃力,所以没有测试。听说GMail要求必须使用SSL,有这方面需要的同学自行谷歌百度PHPMailer的方法。

PHP 相关文章推荐
PHP分页显示制作详细讲解
Oct 09 PHP
彻底杜绝PHP的session cookie错误
Aug 09 PHP
php一个找二层目录的小东东
Aug 02 PHP
destoon二次开发入门示例
Jun 20 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
Symfony2 session用法实例分析
Feb 04 PHP
thinkPHP交易详情查询功能详解
Dec 02 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
在php7中MongoDB实现模糊查询的方法详解
May 03 PHP
Yii框架的布局文件实例分析
Sep 04 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
Oct 16 PHP
PHP autoload使用方法及步骤详解
Sep 05 PHP
PHP实现今天是星期几的几种写法
Sep 26 #PHP
一个PHP的远程图片抓取函数分享
Sep 25 #PHP
使用php判断服务器是否支持Gzip压缩功能
Sep 24 #PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 #PHP
php实现的获取网站备案信息查询代码(360)
Sep 23 #PHP
DOM XPATH获取img src值的query
Sep 23 #PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 #PHP
You might like
剖析 PHP 中的输出缓冲
2006/12/21 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
php中的比较运算符详解
2013/10/28 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
JS实现图片切换效果
2018/11/17 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
python实现爬虫下载美女图片
2015/07/14 Python
windows下python安装小白入门教程
2018/09/18 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
python装饰器代码深入讲解
2021/03/01 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
师范生自荐信
2013/10/27 职场文书
董事长助理岗位职责
2014/02/18 职场文书
班班通项目实施方案
2014/02/25 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
团队激励口号
2014/06/06 职场文书
个人查摆剖析材料
2014/10/04 职场文书
一个都不能少观后感
2015/06/04 职场文书
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL