私は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
を返すする必要があります。だから、
2012-05-30T04:44:37+00:00 DEBUG (7): false;'CustomerSupport';'[email protected]';'Password Reset Confirmation for {{var customer.name}}'
:持っていたログファイル/var/log/email.log
を作成
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');
問題は次のとおりでした:!Mage::getStoreConfigFlag('system/smtp/disable')
Admin > System > Configuration > Advanced > System > Mail Sending Settings
に修正し、をNo
に変更して、電子メールがでないようにしてくださいが無効です。
は、今では動作します:) php
デフォルトのトランスポートとsendmail
問題となる可能性が
認証をサポートするmagento用のsmtpモジュールを追加しましたが、それでもsendmail transport/sendmail.phpをメールに送信しようとしています:S非常にイライラしている正規のPHPスクリプトはメールマゼンタで問題なく動作しますお問い合わせフォーム。 – Ilse
Roundcubeはメールをうまく送信しますが、どのようにしてMagentoもメールを送信できますか?チックスの提案?どうも! – Ilse