CI框架Email类配置腾讯邮箱失败

来源:互联网 发布:淘宝少女心店铺 编辑:程序博客网 时间:2024/06/06 00:52

发送邮件就请一直处于求超时状态。Fatal error:  Maximum execution time of 300 seconds exceeded in D:\\WWW\\www.htmv2.com\\system\\libraries\\Email.php on line 1870   请问怎么回事呀?配置文件就这部分不一样

        $config['protocol']="smtp";
        $config['smtp_host']="smtp.exmail.qq.com";
        $config['smtp_user']="service@gamehetu.com";
        $config['smtp_pass']="******";

        //$config['smtp_host']="smtp.163.com";
        //$config['smtp_user']="phperstar@163.com";
        //$config['smtp_pass']="******";

今天早上过来之后,还以为幸运的可以成功,结果还是老样子。最后,决定去CI框架开发者论坛搜搜和Email类相关的帖子看看,无意间找到了一篇旧帖子,是关于CI自带Email类无法链接qq邮箱服务器的,好了一下别人失败的原因,结果测试一下,这个问题完美结局。这个功能收获一下两点:

1.在控制器中增加配置文件时,一定要注意顺序(先设置后加载类),不然容易出错:
    $config['protocol']="smtp";
    $config['smtp_host']="smtp.exmail.qq.com";
    $config['smtp_user']="service@gamehetu.com";
    $config['smtp_pass']="******";
    $this->load->library('email'); 

2.默认Email类中 var $newline= "\n";   var $crlf= "\n";  这两项是这样的。在163邮箱中可以通过。而腾讯邮箱服务器好像不支持,所以就是出现错误的罪魁祸首。把这两项改成$config['crlf']="\r\n";   $config['newline']="\r\n";就完成支持腾讯邮箱服务器了。之前出现的错误也就迎刃而解了。



关于CI(codeigniter框架)以smtp协议发送邮件和中文邮件乱码出现的问题记录

今天在测试CI框架的email类以smtp协议发送邮件的时候,在本地可以运行,但是到服务器就一直出现以下问题:

Fatal error: Maximum execution time of 30 seconds exceeded inD:\AppServ\www\crm\system\libraries\Email.php on line 1818

查了一天,最后发现是防火墙惹的祸,阻止了邮件的发送。谨记!发送邮件超时首先检查配置,如果配置都正确的话,在检查邮件服务器是否支持smtp协议,然后再检查服务器是否有防火墙拦截!嗯!

 

如果出现中文邮件编码问题,请查找libraries/Email.php文件中的1264行,把其中的限制长度的75改成200

原创粉丝点击