Email类的问题
SOS。我的服务器是nginx的。
使用CI的email类来发送邮件。
用QQ企业邮箱无法发送邮件,配置如下:
$config['protocol']= 'smtp';
$config['smtp_host'] = 'smtp.exmail.qq.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'xxx@xxx.com';
$config['smtp_pass'] = 'xxx';
$config['crlf']="\r\n";
$config['newline']="\r\n";
浏览器显示一直在缓冲,大概一分钟后返回的是nginx的错误。
查看nginx错误日志显示
“(10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond)”
使用163邮箱的未加密smtp则可以发送邮件,配置如下:
$config['protocol']= 'smtp';
$config['smtp_host'] = 'smtp.163.com';
$config['smtp_port'] = '25';
$config['smtp_user'] = 'xxx@xxx.com';
$config['smtp_pass'] = 'xxx';
但使用163邮箱的ssl smtp(465端口)就又是发送邮件失败
但$this->email->send()又返回成功,打印$this->email->print_debugger()时候显示如下:
hello: The following SMTP error was encountered:
Failed to send AUTH LOGIN command. Error:
from: The following SMTP error was encountered:
to: The following SMTP error was encountered:
data: The following SMTP error was encountered:
The following SMTP error was encountered:
Unable to send email using PHP SMTP.Your server might not be configured to send mail using this method.
请问有人遇到这样的问题吗?该如何解决,我想用QQ企业邮箱。。。
折腾一天快哭了。。。
另外,QQ邮箱如果使用25端口也是可以发送成功的。
$config['protocol']= 'smtp';
$config['smtp_host'] = 'smtp.exmail.qq.com';
$config['smtp_port'] = '465';
$config['smtp_user'] = 'admin@wangtangyuan.com';
$config['smtp_pass'] = 'ty13316003671';
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n"; //这还不能用单引号,单引号会导致nginx崩溃不知道为什么
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n"; //是一个反斜杠! 上面被论坛自动转换成两个反斜杠了。。。=。=
$config['protocol'] = 'sendmail';
$config['smtp_host'] = 'smtp.exmail.qq.com';
$config['smtp_user'] = 'xxx';//这里写上你的163邮箱账户
$config['smtp_pass'] = 'xxxx';//这里写上你的163邮箱密码
$config['mailtype'] = 'html';
$config['validate'] = true;
$config['priority'] = 1;
$config['crlf']= "\\r\\n";
$config['smtp_port'] = 465;
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
这是我的配置,用阿帕奇可以发,还是很快的,不到1秒就收到了。 php要支持ssl才行吧 yr334 发表于 2014-2-21 14:50 static/image/common/back.gif
php要支持ssl才行吧
我看我的phpinfo()里面已经支持openssl了啊?
deber 发表于 2014-2-21 14:33 static/image/common/back.gif
$config['protocol'] = 'sendmail';
$config['smtp_host'] = 'smtp.exmail.qq.com';
$confi ...
按你说的,改成sendmail的protocol,
(PS:你的smtp跟smtp_user有冲突了吧,一个qq,一个163)
然后返回的错误如下:
Unable to open a socket to Sendmail. Please check settings.
Unable to send email using PHP Sendmail.Your server might not be configured to send mail using this method.
楼主请问你这个解决了吗,我也出现这样的问题一直没办法解决 今天刚做了邮件发送,使用的是个人QQ邮箱下面说下自己的配置
1,qq邮箱开启 IMAP/SMTP ,记下密钥,待会要用到
2,我的开发环境,windows7WAMP64 ,另外php.ini 要开启 openssl(必须)支持 和 sockets(没有试过是不是必须开启);
3,下面是我的配置
$this->load->library('email');
$mconfig['protocol'] = 'smtp'; // 使用smtp协议
$mconfig['smtp_host'] = 'smtp.qq.com'; // smtp主机
$mconfig['smtp_port'] = 465; // smtp端口
$mconfig['smtp_user'] = '你刚才配置的QQ号'; // smtp用户
$mconfig['smtp_pass'] = '你刚才记下的密钥'; // 密码
$mconfig['smtp_crypto'] = 'ssl';//465端口使用ssl
$mconfig['crlf'] = "\r\n"; // 设置换行符
$mconfig['newline'] = "\r\n"; // 设置换行符
$this->email->initialize($mconfig);
$this->email->from($mconfig['smtp_user'], '在线询价');
//$this->email->cc($this->post('mail_user'));//抄送
$this->email->to('你的接收邮箱');
$this->email->subject('CI阳澄湖');
$this->email->message('CI社区京东大闸蟹监控系统卡券发货已经同步成功运营');
$this->email->send(); //这里你可以判断下 然后打印一下发送结果
4,下面是测试的一些截图,希望对新手有帮助
http://codeigniter.org.cn/forums/data/attachment/album/201711/17/144037egbxfi1l08yzzy1i.png
http://codeigniter.org.cn/forums/data/attachment/album/201711/17/144037fw9vvws9fkkhhpmp.png
http://codeigniter.org.cn/forums/data/attachment/album/201711/17/144037br5pk67pkkuk8s9y.png
http://codeigniter.org.cn/forums/data/attachment/album/201711/17/144037dstbfipbs815bsug.png
页:
[1]