博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在CI中集成phpmailer,方便使用SMTP发送邮件
阅读量:5918 次
发布时间:2019-06-19

本文共 2582 字,大约阅读时间需要 8 分钟。

直接使用phpmailer的话,有时候不是很方便,特别你的很多功能都是基于CI完成的时候,要相互依赖就不方便了,所以在想,那是否可以将phpmailer集成到CI中呢,像使用email类这样使用他,功夫不负有心人,在网上居然有人分享了很多内容,但是之前的CI是支持插件功能的,所以很多文章都是说的基于插件的方式,现在CI有了新的调整,基于类的方式。最后找到一篇文章,可以帮助我们解决这个问题,将phpmailer集成到CI中,成为类,大家可以去到这个url查看详细的介绍:http://blog.qoding.us/2011/09/codeigniter-using-phpmailer-to-send-email-via-gmail/

 

最近要處理一個電子報系統,再用 CI 那跛腳 Email Class 大概會被客訴到瘋掉。所以還是認命改用老牌的 PHPMailer Library。稍微試一下,發現在 CI 裡使用 PHPMailer 相當無痛,先到官網下載一份 PHPMailer (本文完成時的最新版本是 5.2.0),解壓縮後把整個資料夾丟到 CI\\application\\libraries\\PHPMailer_5.2.2。接著在 libraries 下建立新檔案,就叫 mailer.php 好了。

 

 

 

mail = new PHPMailer(true); $this->mail->IsSMTP(); // telling the class to use SMTP $this->mail->CharSet = "utf-8"; // 一定要設定 CharSet 才能正確處理中文 // $this->mail->SMTPDebug = 0; // enables SMTP debug information $this->mail->SMTPAuth = true; // enable SMTP authentication // $this->mail->SMTPSecure = "ssl"; // sets the prefix to the servier $this->mail->Host = "smtp.163.com"; // sets 163 as the SMTP server //$this->mail->Port = 465; // set the SMTP port for the 163 server $this->mail->Username = "xxxxxx@163.com";// 163 username $this->mail->Password = "xxxxxxxxx"; // 163 password /// $this->mail->AddReplyTo('@163.com', 'YOUR_NAME'); //回复地址(可填可不填) //$this->mail->SetFrom('YOUR_GAMIL@163.com', 'YOUR_NAME'); } public function sendmail($to, $to_name, $subject, $body){ try{ $this->mail->From = 'xxxx@163.com'; $this->mail->FromName = 'xxxxxx'; $this->mail->AddAddress($to, $to_name); $mail->WordWrap = 50; // Set word wrap to 50 characters $this->mail->IsHTML(true); // 使用html格式 $this->mail->Subject = $subject; $this->mail->Body = $body; $this->mail->Send(); echo "Message Sent OK

\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { echo $e->getMessage(); //Boring error messages from anything else! } }} /* End of file mailer.php */

接著在 Controller 裡呼叫這支 library 就可以了,範例如

load->library('mailer'); $this->mailer->sendmail( 'it6780@qq.com', 'charles', '這是測試信 '.date('Y-m-d H:i:s'), $mail_body ); } }

 

  

下。

  

 

转载地址:http://fefvx.baihongyu.com/

你可能感兴趣的文章
hdu 5726 tetrahedron 立体几何
查看>>
java微信开发API第一步 服务器接入
查看>>
unity3d继续尝试
查看>>
XPath详解
查看>>
Oracle SQL Developer 添加SQLServer 和Sybase 连接
查看>>
Liferay7 BPM门户开发之33: Portlet之间通信的3种方式(session、IPC Render Parameter、IPC Event、Cookies)...
查看>>
IE6-8下自定义标签的表现
查看>>
16-static和extern关键字2-对变量的作用
查看>>
NoSQL指南
查看>>
数据库中表内容的删除总结(总有你需要的)
查看>>
python信号signal简单示例
查看>>
Windows forfiles(删除历史文件)
查看>>
Android6.0权限组申请
查看>>
redis-3.2.5 make 报错
查看>>
分支无限的有根数
查看>>
用键盘模拟鼠标单击右击
查看>>
[原创] 上海利得基金招聘测试经理/测试工程师/测试开发工程师(长期有效)
查看>>
PHP-FPM 不完全指南
查看>>
ios UIImageView处理图片大小问题
查看>>
自己动手为Spark 2.x添加ALTER TABLE ADD COLUMNS语法支持
查看>>