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上去。
出自:小鄭
最後更新:2017-04-02 06:51:19