请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 26260|回复: 41

SpeedPHP电子邮件扩展类

  [复制链接]
发表于 2011-2-10 13:02:26 | 显示全部楼层 |阅读模式
首先感谢论坛jiayan41提供的Email邮件发送类程序!http://speedphp.com/bbs/thread-577-1-1.html

本人进行了修改,使之成为了SpeedPHP的标准扩展程序,将spEmail.php文件放置在SpeedPHP/Extensions/spEmail.php位置即可,配置选项可在spConfig.php里面进行设置。设置项如下:

  1.         'ext' => array(  // 扩展使用的配置根目录
  2.                 'spEmail' => array( //邮件扩展的基本设置
  3.                         'debug' => TRUE, //调试模式
  4.                         'host_name' => '163.com', //邮件主机名
  5.                         'smtp_host' => 'smtp.163.com',        //SMTP服务器
  6.                         'smtp_port' => '25',        //SMTP端口
  7.                         'auth' => TRUE,        //身份验证
  8.                         'from' => 'admin@163.com', //发件邮箱
  9.                         'user' => 'admin',        //用户名
  10.                         'pass' => 'pass',        //密码
  11.                         'log_file' => '',        //日志文件
  12.                         'time_out' => 30,        //超时时间
  13.                 ),
  14.         ),
复制代码



在控制器中可以使用如下代码(action)进行测试:

  1.         function _email() {
  2.                 $mail = spClass('spEmail');
  3.                 $mailsubject = "SpeedPHP邮件扩展";//邮件主题
  4.                 $mailbody = "<h1> SpeedPHP邮件扩展 </h1>";//邮件内容
  5.                 $mailtype = "HTML";//邮件格式(HTML/TXT),TXT为文本邮件
  6.                 $mail->sendmail('收件人邮箱@email.com', $mailsubject, $mailbody, $mailtype);
  7.         }
复制代码



下载:
spEmail.zip (3.4 KB, 下载次数: 514)
发表于 2011-2-10 13:08:13 | 显示全部楼层
不错,很标准的扩展方式。 推荐!
发表于 2011-2-12 10:27:13 | 显示全部楼层
starlight36  果真是高人啊,早点认识你就好了,那样我就可以用上speedphp标准Email扩展了,哈哈
发表于 2011-2-14 11:58:02 | 显示全部楼层
好啊,正缺这个
发表于 2011-2-23 20:35:10 | 显示全部楼层
再来感谢一下,今天的项目就用到楼主的类。
发表于 2011-3-10 17:06:49 | 显示全部楼层
正点,收藏了。
发表于 2011-4-1 12:00:32 | 显示全部楼层
回复 1# starlight36

发现了一个bug,参数debug的设置无效!
即无论在配置设置debug为true或false结果都相当于true
  1. if( !empty($params['debug']) )$this->debug = $params['debug'];
复制代码
原因就在于上面这行代码
当debug为true时,empty判断为结果为true,if后面语句不执行;
当debug为false时,empty判断为结果仍旧为true,if后面语句不执行;
(如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。)

建议改为
  1. $this->debug = isset($params['debug']) ? $params['debug'] : $this->debug;
复制代码
其他赋值语句正常,但其他赋值语句也可以采用这种格式!
发表于 2011-4-2 11:50:14 | 显示全部楼层
支持下~~
发表于 2011-4-2 12:27:17 | 显示全部楼层
回复  starlight36

发现了一个bug,参数debug的设置无效!
即无论在配置设置debug为true或false结果都相 ...
梦里梦外 发表于 2011-4-1 12:00


对,的确不能用empty
发表于 2011-4-15 21:37:46 | 显示全部楼层
怎样让发送邮件的编码格式为UTF-8呢?? 希望有个能改编码的选项!!
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2019-11-19 22:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表