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

发送邮件就请一直处于求超时状态。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']="[email protected]";
$config['smtp_pass']="******";

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

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

1.在控制器中增加配置文件时,一定要注意顺序(先设置后加载类),不然容易出错:
$config['protocol']="smtp";
$config['smtp_host']="smtp.exmail.qq.com";
$config['smtp_user']="[email protected]";
$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 in D:\AppServ\www\crm\system\libraries\Email.php on line 1818

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

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

你可能感兴趣的:(email)