您的位置:首页 > 运维架构 > Linux

linux下ecshop"邮件服务器配置"设置完成以后测试邮箱不能正常接收到邮件问题

2013-08-21 13:17 603 查看
在windows下安装ecshop之后,只需要正常配置,即可正常收到邮件,如下:







但是在linux下安装的ecshop始终提示发送成功,如下图,



但是测试邮箱却始终没有收到测试邮件,

于是在网上搜索各种解决方案,在官网的bbs中有各种解决方案,但是却没有一个方案能解决问题,

网上的方案集中在:

1. 换个邮箱测试,比如从163换成qq试一下,这个方案在我这里不行的,被排除;

2. "邮件服务器配置"有问题,这个核对了很多遍,有问题的可能性很小;

3. 服务器没有启动stmp功能,我在本地已经启动了postfx,这个可能性排除;

4. 系统中fsockopen()函数不可用,有些服务器供应商禁用了这个函数,EC论坛中有个大佬说可采用pfsockopen替换fsockopen来解决这个问题。

比如:http://bbs.ecshop.com/thread-142347-1-1.html

个人认为这个问题是外行话,服务器我们有完全的控制权,我们装什么一般对方不会干预那么多的,但是这个提示也触发了我从linux系统去找问题的根源。

通过创建phpinfo查看php的支持信息,不过这个方法我没采用,如下:

<?php

phpinfo();

?>

只是用 php -v 查看Zend Extension 和 Zend Optimizer的信息,但是系统出现了报错,如下:

Failed loading /usr/local/lamp/Zend/lib/ZendExtensionManager.so: /usr/local/lamp/Zend/lib/ZendExtensionManager.so: wrong ELF class: ELFCLASS32

因为fsocketopen()这个方法跟Zend Extension关系紧密,所以问题的重点应该就是集中在这个错误上,

经过查找资料证实,这个错误的发生是因为系统和安装的Zend包不匹配导致的,经过回查,发现确实是由于自己的粗心导致的问题,如下图显示,



我安装的Zend包是32bit的,而系统是64bit。

于是抓紧从网上下载了64bit的ZendOptimizer包,替换掉之前的32bit包,

对邮箱再进行一次测试,阿弥陀佛,终于OK了。



说明: 任何方法和经验都不是万金油,这个方法只适合遇到类似问题的同学,如果并不能解决您的问题,请另辟蹊径,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐