2017-06-05 77 views
1

我已經安裝了一個全新的Opencart 2.3.0.2Inmotionhosting與所有默認設置,除了郵件設置,我嘗試了許多不同的組合。雖然它顯示"Error: DATA not accepted from server!",但它發送郵件成功!SMTP「錯誤:數據不被服務器接受!」 Opencart 2.3上InMotionHosting

託管支持中心說,一切都好,所以它應該是一個編碼問題!

郵件設置:

Mail Protocol: SMTP 
Mail Parameters: [email protected] 
SMTP Hostname: mail.mywebsite.com 
SMTP Username: [email protected] 
SMTP Password: ******** 
SMTP Port: 587 
SMTP Timeout: 5 

完全錯誤的詳細信息:

Fatal error: Uncaught exception 'Exception' with message 'Error: DATA not accepted from server!' in /home/mywebsite/public_html/mywebsite.com/oc/system/library/mail.php:409 
Stack trace: 
#0 /home/mywebsite/public_html/mywebsite.com/oc/catalog/model/account/customer.php(81): Mail->send() 
#1 [internal function]: ModelAccountCustomer->addCustomer(Array) 
#2 /home/mywebsite/public_html/mywebsite.com/oc/system/engine/loader.php(178): call_user_func_array(Array, Array) 
#3 [internal function]: Loader->{closure}(Array, Array) 
#4 /home/mywebsite/public_html/mywebsite.com/oc/system/engine/proxy.php(25): call_user_func_array(Object(Closure), Array) 
#5 /home/mywebsite/public_html/mywebsite.com/oc/catalog/controller/account/register.php(21): Proxy->__call('addCustomer', Array) 
#6 /home/mywebsite/public_html/mywebsite.com/oc/catalog/controller/account/register.php(21): Proxy->addCustomer(Array) 
#7 [internal function]: ControllerAccountRegister->index() 
#8 /home/mywebsite/public_html/mywebsite.com/oc/system/engine/action.php(51): call_user_func_array(Array, Array) 
#9 /home/sabour in /home/mywebsite/public_html/mywebsite.com/oc/system/library/mail.php on line 409 

任何想法如何擺脫這種錯誤的?

+0

你可以查看你的PHP ini文件經常此參數「的sendmail-T-I」,使用「郵件」的協議,端口25設置 – jimmy8ball

回答

0

我上面已經評論說,但如果不能解決您的問題,還有一系列的配置步驟,通過下面的工作:

下面是我從收集到完整的文章:

https://opencartforum.com/topic/23861-resheno-yandex-takoy-yandex-ne-otpravlyayutsya-pisma-vydaet-oshibku-data-not-accepted-from-server/?page=2

Opencart的2.0+修復

首先編輯文件目錄/控制器/信息/ contact.php 查找行:

$ Mail-> setFrom ($ this-> request-> post [ 'email']); 

將其更改爲:

$ Mail-> setFrom ($ this-> config-> get ('config_email')); 

這將完成設置了從田間到是一樣的你的店的主要電子郵件地址。

現在找到這一行:

$ Mail-> setSender ($ this-> request-> post ['name']); 

將其更改爲:

$ Mail-> setReplyTo ($ this-> request-> post ['email']); 
$ Mail-> setSender ($ this-> config-> get ('config_email')); 

現在,我們需要編輯系統/庫/ mail.php文件 你只需要改變一個行:

$ Header = 'Reply-To:? = UTF-8 B??'. . base64_encode ($ this-> replyto). '='. '<'. $ This-> from. '>'. $ This-> newline; 

將其更改爲:

$ Header = 'Reply-To:? = UTF-8 B??'. . base64_encode ($ this-> replyto). '='. '<'. $ This-> replyto. '>'. $ This-> newline; 

也有類似的問題在這裏:

phpmailer - The following SMTP Error: Data not accepted

+0

一號線已經爲你解釋。我改變了第二線,但沒有改變。我OC版本是2.3.0.2 – Kardo

+0

這有可能是因爲一切你所描述的聲音正確的給我一個端口問題。嘗試在你的ini文件交換端口的默認值是25 – jimmy8ball

+0

您是否使用了代理服務器和防火牆嗎? – jimmy8ball

0

解決了!

在我的情況下,問題是SMTP HOSTNAME實際上應該是共享主機的primary domain name,而不是add-on domain

Mail Protocol: SMTP 
Mail Parameters: [email protected] 
>>> SMTP Hostname: mail.primary-domain.com <<< 
SMTP Username: [email protected] 
SMTP Password: ******** 
SMTP Port: 587 
SMTP Timeout: 5 

我想知道爲什麼InmotionHosting.com的實時支持沒有意識到這一點!

相關問題