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 相关文章推荐
js下函数般调用正则的方法附代码
Jun 22 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
Feb 17 PHP
PHP中比较时间大小实例
Aug 21 PHP
codeigniter显示所有脚本执行时间的方法
Mar 21 PHP
织梦sitemap地图实时推送给百度的教程
Aug 03 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
微信推送功能实现方式图文详解
Jul 12 PHP
php函数式编程简单示例
Aug 08 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 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
做个自己站内搜索引擎
2006/10/09 PHP
PHP 高手之路(一)
2006/10/09 PHP
php下删除字符串中HTML标签的函数
2008/08/27 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
php无限级分类实现方法分析
2016/10/19 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
php 常用的系统函数
2017/02/07 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
用JavaScript玩转游戏物理(一)运动学模拟与粒子系统
2010/06/19 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
python实现上传下载文件功能
2020/11/19 Python
python基于http下载视频或音频
2018/06/20 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
信息管理专业学生自荐信格式
2013/09/22 职场文书
大学生自我鉴定
2013/12/08 职场文书
党校学习思想汇报
2014/01/06 职场文书
文秘自荐信
2014/06/28 职场文书
师德师风培训感言
2015/08/03 职场文书
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏