2012-02-22 14 views
12

Magento किसी भी ईमेल को बाहर नहीं भेज रहा है, अंतरराष्ट्रीय, संपर्क फ़ॉर्म त्रुटिMagento कोई मेल नहीं भेज रहा है, डीबग कैसे करें?

cannot send your mail at this moment 

मैं Magento में

  • मेल सेटअप जाँच देता है, सभी ईमेल खाते सेटिंग में सेट कर रहे हैं
  • php मेल ठीक काम करता है php मेल के साथ test.php एक संदेश भेजता है
  • ने मेरे मेलसर्वर लॉग की जांच की लेकिन कुछ भी नहीं देखा, कोई त्रुटि नहीं
  • /var/log/system.log और exception.log केवल एक त्रुटि त्रुटि के कारण

    exception 'Zend_Mail_Transport_Exception' with message 'Unable to send mail. ' in /var/webshop/httpdocs/lib/Zend/Mail/Transport/Sendmail.php:137

उत्तर

2

किसी भी php कार्यक्रम कुछ ईमेल भेजने की आधी सभ्य काम कर सकते हैं नहीं चलता phpmail के साथ।

त्रुटि संदेश को देखते हुए, आपका Magento बिल्ड क्या करने का प्रयास कर रहा है अलग है - ज़ेंड लाइब्रेरी के माध्यम से Sendmail का उपयोग करें।

आपको अपनी प्रेषण स्थापना का निर्माण और परीक्षण करने की आवश्यकता होगी। या जीमेल जैसे कुछ अन्य मेल सेवा का उपयोग करें और इसका उपयोग करने के लिए Magento प्राप्त करें।

यह जांचने के लिए कि यह आप हैं, आपका कंप्यूटर या Magento, कुछ अन्य कार्यक्रम जैसे कि Roundcube Mail पर रखें। यदि राउंडक्यूब मेल मेल भेज सकता है तो आपको पता चलेगा कि Sendmail काम कर रहा है, अगर नहीं तो आपको पता चलेगा कि समस्या Sendmail में है।

अपने Sendmail को ठीक करना विशिष्ट है।

+0

मैंने मैगेंटो के लिए एक smtp मॉड्यूल जोड़ा जो प्रमाणीकरण का समर्थन करता है लेकिन यह अभी भी मेल भेजने की कोशिश कर रहा है प्रेषण परिवहन/sendmail.php: एस बहुत निराशाजनक, नियमित php स्क्रिप्ट मेल मैगेंटो के साथ ठीक काम करती है, बस कोई ईमेल लेनदेन नहीं भेजेगी या संपर्क करें प्रपत्र। – Ilse

+0

राउंडक्यूब मेल को ठीक भेजता है, मैं Magento को मेल भेजने के लिए कैसे कर सकता हूं? थिक्स पर कोई सुझाव? धन्यवाद! – Ilse

26

मैं जब Magento त्रुटि यह पैदा किया गया था पाया /var/log/exception.log में देखने के बाद बाहर भेज रही थी नहीं पासवर्ड ईमेल भूल गया (अभी तक रिपोर्टिंग यह उपयोगकर्ता के लिए किया था) तो इस समस्या का सामना किया था:

2012-05-30T04:27:54+00:00 ERR (3): 
exception 'Exception' with message 'This letter cannot be sent.' in /home/magento/www/app/code/core/Mage/Core/Model/Email/Template.php:354 
Stack trace: 
#0 /home/magento/www/app/code/core/Mage/Core/Model/Email/Template.php(463): Mage_Core_Model_Email_Template->send(Array, Array, Array) 
#1 /home/magento/www/app/code/core/Mage/Core/Model/Email/Template/Mailer.php(79): Mage_Core_Model_Email_Template->sendTransactional('customer_passwo...', 'support', Array, Array, Array, '1') 
#2 /home/magento/www/app/code/core/Mage/Customer/Model/Customer.php(646): Mage_Core_Model_Email_Template_Mailer->send() 
#3 /home/magento/www/app/code/core/Mage/Customer/Model/Customer.php(663): Mage_Customer_Model_Customer->_sendEmailTemplate('customer/passwo...', 'customer/passwo...', Array, '1') 
#4 /home/magento/www/app/code/core/Mage/Customer/controllers/AccountController.php(554): Mage_Customer_Model_Customer->sendPasswordResetConfirmationEmail() 
#5 /home/magento/www/app/code/core/Mage/Core/Controller/Varien/Action.php(420): Mage_Customer_AccountController->forgotPasswordPostAction() 
#6 /home/magento/www/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('forgotpasswordp...') 
#7 /home/magento/www/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#8 /home/magento/www/app/code/core/Mage/Core/Model/App.php(349): Mage_Core_Controller_Varien_Front->dispatch() 
#9 /home/magento/www/app/Mage.php(640): Mage_Core_Model_App->run(Array) 
#10 /home/magento/www/index.php(84): Mage::run('default', 'store') 
#11 {main} 

तो खोल दिया /app/code/core/Mage/Core/Model/Email/Template.php और कोड है कि (लाइन 354 पर) इस त्रुटि फेंक दिया गया था पाया था:

:

if (!$this->isValidForSend()) { 
    Mage::logException(new Exception('This letter cannot be sent.')); // translation is intentionally omitted 
    return false; 
} 

तो isValidForSend() पर एक नज़र था

public function isValidForSend() 
{ 
    return !Mage::getStoreConfigFlag('system/smtp/disable') 
     && $this->getSenderName() 
     && $this->getSenderEmail() 
     && $this->getTemplateSubject(); 
} 

जोड़ा गया इनमें से किसी एक के रूप में समारोह के शुरू में चर के कुछ प्रवेश false लौट जाना चाहिए:

Mage::Log(var_export(!Mage::getStoreConfigFlag('system/smtp/disable'),true).';'.var_export($this->getSenderName(),true).';'.var_export($this->getSenderEmail(),true).';'.var_export($this->getTemplateSubject(),true),null,'email.log'); 

कौन सा जो था लॉग फ़ाइल /var/log/email.log बनाता है:

2012-05-30T04:44:37+00:00 DEBUG (7): false;'CustomerSupport';'[email protected]';'Password Reset Confirmation for {{var customer.name}}' 

तो समस्या थी: !Mage::getStoreConfigFlag('system/smtp/disable') जो आप Admin > System > Configuration > Advanced > System > Mail Sending Settings में ठीक कर सकते हैं और Disable Email Communications से No में बदल सकते हैं, इसलिए ईमेल नहीं हैं अक्षम।

अब यह काम करता है :) php डिफ़ॉल्ट परिवहन के साथ

1

कि sendmail समस्या हो सकती है, Magento अगर ईमेल भेजने।

मैं एमएक्स सर्वरों के लिए स्थिति के साथ अनुभव कर रहा हूँ जब sendmail स्थानीय डोमेन के लिए ईमेल इनकार करते हैं, बजाय रिले के उन ईमेलों

http://www.masterdef.net/blog/magento-unable-to-send-mail-sendmail-configuration/#more-1

मैं जाँच सर्वर पर mail.log की सलाह देते हैं, और अगर एक तरह त्रुटियों है वहाँ पाया user unknown इसका मतलब यह गलत sendmail विन्यास

0

अगर वहाँ है.आप ईमेल लॉग की जाँच से पहले इस error.So प्राप्त ईमेल टेम्पलेट के साथ एक समस्या है अपने ईमेल टेम्पलेट की जाँच करें, इसके अलावा, जब इसके लिए एक कस्टम ईमेल टेम्पलेट, कोड टूटा नहीं है।

2

मैं भी आदेश ईमेल सीई 1.9.1 में भेजा जा रहा की समस्या के साथ संघर्ष किया लेकिन कुछ समय के बाद समस्या दिखाई दी:

Magento सीई 1.9.1 Magento के रूप में आदेश ईमेल सीधे नहीं भेजता है आदेश प्रक्रिया के दौरान। इसके बजाय मेल कतारबद्ध हैं और क्रॉन द्वारा भेजे जाते हैं। तो Magento cronjob को ठीक से कॉन्फ़िगर करना सुनिश्चित करें।

भी देखें:

http://www.magentocommerce.com/knowledge-base/entry/ee1141-ce191-responsive-email#cron http://www.magentocommerce.com/knowledge-base/entry/ce18-and-ee113-installing#install-cron

1
public function isValidForSend() 
{ 
    return !Mage::getStoreConfigFlag('system/smtp/disable') 
     && $this->getSenderName() 
     && $this->getSenderEmail() 
     && $this->getTemplateSubject(); 
} 

भी, मेरे मामले त्रुटि लॉग में मुझे इस समारोह के लिए ले लिया। व्यवस्थापक में विन्यास ठीक था। लेकिन $ यह-> getTemplateSubject() झूठा मान भेज रहा था क्योंकि टेम्पलेट अनुपलब्ध था/ऐप/लोकेल/फ़ोल्डर के अंतर्गत। तो जोड़ा गया टेम्पलेट जो गायब था। उसके बाद यह मेरे लिए काम किया।

संबंधित मुद्दे