服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > magento教程 >

Magento无法发送邮件的解决过程

时间:2016-04-01 09:07来源: 作者: 点击:
情况一:在默认情况下Zend抛出的异常 2013-07-11T02:19:29+00:00 ERR (3): exception Zend_Mail_Transport_Exception with message Unable to send mail. in /var/www/html/lib/Zend/Mail/Transport/Sendmail.php:137 Stack trace: #0 /var/ww

情况一:在默认情况下Zend抛出的异常

2013-07-11T02:19:29+00:00 ERR (3): 
exception ‘Zend_Mail_Transport_Exception’ with message ‘Unable to send mail. ‘ in /var/www/html/lib/Zend/Mail/Transport/Sendmail.php:137 
Stack trace: 
#0 /var/www/html/lib/Zend/Mail/Transport/Abstract.php(348): Zend_Mail_Transport_Sendmail->_sendMail() 
#1 /var/www/html/lib/Zend/Mail.php(1194): Zend_Mail_Transport_Abstract->send(Object(Zend_Mail))

情况二:使用SMTP抛出的异常。

2013-07-10T08:28:49+00:00 DEBUG (7): Exception message: Permission denied 
Trace: #0 /var/www/html/lib/Zend/Mail/Protocol/Smtp.php(167): Zend_Mail_Protocol_Abstract->_connect(‘ssl://smtp.gmai…’) 
#1 /var/www/html/lib/Zend/Mail/Transport/Smtp.php(199): Zend_Mail_Protocol_Smtp->connect()

两种情况显示的信息不同,但是结果一致,就是都无法成功发送邮件。再调试Magento无果的情况下,想到了是否是服务器的相关配置问题。试着在服务器中创建了一个简单脚本,通过mail函数发送,结果发现,确实通过mail函数也无法正常发送邮件。比较奇怪的就在这里,服务器已经正常安装了sendmail服务,SMTP也配置正常,在客户端上调用SMTP发送邮件都能正常运行,难道只是在WEB中无法正常使用?

了解该情况之后,查看了linux邮件日志,异常如下,

Oct  9 11:42:03 localhost sendmail[3080]: NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied

可以看到,该操作提示访问权限被拒绝。是不是防火墙导致的?iptables stop命令运行,继续mail发送,依然不行。最后,通过查阅一些资料,发现这个问题除了防火墙之外,还有SELinux的问题。在配置中,发现httpd_can_sendmail选项默认是off掉的。通过如下命令,可以查看相关邮件配置。

getsebool -a | grep mail

开启该配置,Magento就可以正常发送邮件了。

(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容