ThinkPHP3.2结合PHPMailer发送邮件
2015-06-27 08:15
615 查看
前些天没事儿捣鼓了下TP3.2结合PHPMailer发送邮件,记录下来,一方面做为笔记,另一方面也希望能对大家有所帮助
准备工作:
下载
ThinkPHP3.23
下载 PHPMailer
方法一
1.将PHPMailer解压后 在ThinkPHP\Library\Org\Util目录下新建一个文件夹PHPMailer,如果你觉得麻烦可以将解压后的所有文件放到该文件夹下,或者只将class.phpmailer.php和class.smtp.php这两个文件拷贝到该目录下即可
2.在Common模块中的function.php中添加一个公共的方法<span style="font-size:14px;">function sendEmail($toUser,$toUserAlias,$subject,$content){
$mail = new Org\Util\PHPMailer\PHPMailer;//因为我个人将两个类文件名分别改为了PHPMailer.class.php和</span><span style="font-size:14px;">SMTP.class.php
$mail->isSMTP();
$mail->CharSet='UTF-8';
$mail->Host = 'smtp.qq.com';
$mail->SMTPAuth = true;
$mail->Username = '595736620@qq.com';
$mail->Password = '******';
$mail->Port = 25;
$mail->From = '595736620@qq.com';
$mail->FromName = '胡小军';
$mail->addAddress($toUser,$toUserAlias);
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $content;
$mail->AltBody = $content;
if(!$mail->send()){
exit(json_encode(array('code'=>-9,'msg'=>$mail->ErrorInfo)));
}
}</span>在该方法中,相关参数可以从配置文件中读取,为了方便阅读,我给些成了固定的;相关参数大家可以百度下,根据自己的业务需求来配置相关参数;
注意:1.该形式需要添加命名空间 两个主要的类文件都需要添加
namespace Org\Util\PHPMailer;
class PHPMailer{ //注意添加位置
2.运行时class phpmailerException extends Exception会报错,原因是not found class Exception
解决办法是改为class phpmailerException extends \Exception 或者 class phpmailerException extends Think\Exception
3.调用 在控制器中调用sendEmail()方法即可
<span style="font-size:14px;">sendEmail('1031393320@qq.com','思狐工作室','phpmailer邮件测试','测试邮件内容');</span>
方法二
1.将PHPMailer解压后 在ThinkPHP\Library\Vendor目录下新建一个文件夹PHPMailer,如果你觉得麻烦可以将解压后的所有文件放到该文件夹下,或者只将class.phpmailer.php和class.smtp.php这两个文件拷贝到该目录下即可
2.在Common模块中的function.php中添加一个公共的方法
<span style="font-size:14px;">function sendEmail($toUser,$toUserAlias,$subject,$content){
vendor('PHPMailer.class#phpmailer');
vendor('PHPMailer.class#smtp');
$mail = new PHPMailer();
$mail->isSMTP();
$mail->CharSet='UTF-8';
$mail->Host = 'smtp.qq.com';
$mail->SMTPAuth = true;
$mail->Username = '595736620@qq.com';
$mail->Password = 'huxiaojun1989';
$mail->Port = 25;
$mail->From = '595736620@qq.com';
$mail->FromName = '胡小军';
$mail->addAddress($toUser,$toUserAlias);
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $content;
$mail->AltBody = $content;
if(!$mail->send()){
exit(json_encode(array('code'=>-9,'msg'=>$mail->ErrorInfo)));
}
}</span>方法体和方法一几乎一样,区别在于导入方式;采用该方法不用修改命名空间;
3.调用 在控制器中调用sendEmail()方法即可
我也是小白,但如果在使用中遇到什么问题,或是以上有什么不对的地方,可以加我Q:595736620一起学习交流
准备工作:
下载
ThinkPHP3.23
下载 PHPMailer
方法一
1.将PHPMailer解压后 在ThinkPHP\Library\Org\Util目录下新建一个文件夹PHPMailer,如果你觉得麻烦可以将解压后的所有文件放到该文件夹下,或者只将class.phpmailer.php和class.smtp.php这两个文件拷贝到该目录下即可
2.在Common模块中的function.php中添加一个公共的方法<span style="font-size:14px;">function sendEmail($toUser,$toUserAlias,$subject,$content){
$mail = new Org\Util\PHPMailer\PHPMailer;//因为我个人将两个类文件名分别改为了PHPMailer.class.php和</span><span style="font-size:14px;">SMTP.class.php
$mail->isSMTP();
$mail->CharSet='UTF-8';
$mail->Host = 'smtp.qq.com';
$mail->SMTPAuth = true;
$mail->Username = '595736620@qq.com';
$mail->Password = '******';
$mail->Port = 25;
$mail->From = '595736620@qq.com';
$mail->FromName = '胡小军';
$mail->addAddress($toUser,$toUserAlias);
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $content;
$mail->AltBody = $content;
if(!$mail->send()){
exit(json_encode(array('code'=>-9,'msg'=>$mail->ErrorInfo)));
}
}</span>在该方法中,相关参数可以从配置文件中读取,为了方便阅读,我给些成了固定的;相关参数大家可以百度下,根据自己的业务需求来配置相关参数;
注意:1.该形式需要添加命名空间 两个主要的类文件都需要添加
namespace Org\Util\PHPMailer;
class PHPMailer{ //注意添加位置
2.运行时class phpmailerException extends Exception会报错,原因是not found class Exception
解决办法是改为class phpmailerException extends \Exception 或者 class phpmailerException extends Think\Exception
3.调用 在控制器中调用sendEmail()方法即可
<span style="font-size:14px;">sendEmail('1031393320@qq.com','思狐工作室','phpmailer邮件测试','测试邮件内容');</span>
方法二
1.将PHPMailer解压后 在ThinkPHP\Library\Vendor目录下新建一个文件夹PHPMailer,如果你觉得麻烦可以将解压后的所有文件放到该文件夹下,或者只将class.phpmailer.php和class.smtp.php这两个文件拷贝到该目录下即可
2.在Common模块中的function.php中添加一个公共的方法
<span style="font-size:14px;">function sendEmail($toUser,$toUserAlias,$subject,$content){
vendor('PHPMailer.class#phpmailer');
vendor('PHPMailer.class#smtp');
$mail = new PHPMailer();
$mail->isSMTP();
$mail->CharSet='UTF-8';
$mail->Host = 'smtp.qq.com';
$mail->SMTPAuth = true;
$mail->Username = '595736620@qq.com';
$mail->Password = 'huxiaojun1989';
$mail->Port = 25;
$mail->From = '595736620@qq.com';
$mail->FromName = '胡小军';
$mail->addAddress($toUser,$toUserAlias);
$mail->WordWrap = 50;
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $content;
$mail->AltBody = $content;
if(!$mail->send()){
exit(json_encode(array('code'=>-9,'msg'=>$mail->ErrorInfo)));
}
}</span>方法体和方法一几乎一样,区别在于导入方式;采用该方法不用修改命名空间;
3.调用 在控制器中调用sendEmail()方法即可
<span style="font-size:14px;">sendEmail('1031393320@qq.com','思狐工作室','phpmailer邮件测试','测试邮件内容');</span>
我也是小白,但如果在使用中遇到什么问题,或是以上有什么不对的地方,可以加我Q:595736620一起学习交流
相关文章推荐
- 垃圾邮件过滤器 python简单实现
- kindeditor 批量上传 上传失败 thinkphp swfupload session
- C#使用自带的email组件发送邮件的方法
- C#.NET采用HTML模板发送电子邮件完整实例
- phpmailer 中文使用说明(简易版)
- ThinkPHP关联模型操作实例分析
- thinkphp3.0 模板中函数的使用
- ThinkPHP采用<volist>实现三级循环代码实例
- 合并ThinkPHP配置文件以消除代码冗余的实现方法
- ThinkPHP中自定义目录结构的设置方法
- php简单实现发送带附件的邮件
- ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
- C#发送内置图片html格式邮件的方法
- javascript验证邮件地址和MX记录的方法
- PHPMailer 中文使用说明小结
- 用ASP.NET做的个性化的邮件发送系统
- 解析thinkphp中的M()与D()方法的区别
- sqlserver数据库使用存储过程和dbmail实现定时发送邮件
- ThinkPHP采用模块和操作分析
- Jmail组件发送邮件之绝对能用的函数