मैं जब 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
डिफ़ॉल्ट परिवहन के साथ
मैंने मैगेंटो के लिए एक smtp मॉड्यूल जोड़ा जो प्रमाणीकरण का समर्थन करता है लेकिन यह अभी भी मेल भेजने की कोशिश कर रहा है प्रेषण परिवहन/sendmail.php: एस बहुत निराशाजनक, नियमित php स्क्रिप्ट मेल मैगेंटो के साथ ठीक काम करती है, बस कोई ईमेल लेनदेन नहीं भेजेगी या संपर्क करें प्रपत्र। – Ilse
राउंडक्यूब मेल को ठीक भेजता है, मैं Magento को मेल भेजने के लिए कैसे कर सकता हूं? थिक्स पर कोई सुझाव? धन्यवाद! – Ilse