magento -- 客户无法使用contact us 发邮件

  magento -- 客户无法使用contact us 发邮件 - Unable to submit your request. Please, try again later 

magento的contact us是一个非常重要的一个功能,当在线客服不在时,客户可以通过contact us发送邮件来联系我们。问题是,总是会出来这样或者那样的问题导致magento下面的这个功能无法使用。

我这边要说明的是一种非常特殊的情况引起的这个问题。但是我在magento论坛上搜索了,碰到的更多的是其它的状况,一起记录一下。

Unable to submit your request. Please, try again later

首先引起这个问题的可能性是你在后台没有设置用来接收邮件的邮箱。contact us表单是客户用来提交咨询信息的表单,那这个表单的信息要发送到一个我们指定的邮箱。如果你没有指定邮箱,自然contact us就无法使用。

 System -> Configuration -> General -> Contacts  在magento后台的这个地方设置

另外一个发送失败的可能是,由于magento找不到相应的邮件模板。

还有的一个可能是论坛中提到的,升级到magento新版本后出现的问题即1.401版本时。

要么注释掉(不推荐)app/code/core/Mage/Contacts/controllers/IndexController.php的

if ( Zend_Validate :: is ( trim ( $post[ 'hideit' ] ),  'NotEmpty' ))  {
    $error 
true ;
 
}
要么就在模板app/design/frontend/default/THEME/template/contacts/form.phtm中的form标签下添加:
< input type = "text"  name = "hideit"  id = "hideit"  value = ""  style = "display:none !important;"  />
我碰到的一个特殊情况:因为同一个服务器上的其它网站,包括magento,zen cart的网站,可以正常发信。所以基本上可以排除是邮件服务器的问题。但是结果其实还是邮件服务器的配置问题。
不能成功发送邮件的网站都是使用了同一个域名(以abc.com)的邮箱, 如xxx@abc.com , xxxx@abc.com ,我是在跟踪php代码后发现异常是在mail函数执行后丢出的。查看了sendmail的日志后猜测是由于这个域名引起的。abc.com被设定为这台 服务器的hostname.而这个域名的邮件记录呢是设置成了指定google.它使用的是google免费企业邮。对于服务器外部发送给这个域名的邮箱 时自然使用的是DNS的解析记录,会转到gmail.但是,由服务器发出的就使用了/etc/hosts的解析,这样就当成是发给服务器自己了。而服务器 上是没有这些邮件账户的。结果就失败了。邮件服务器需要进一步设置。把邮件转到gmail上去。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值