将我的网站从1.4升级到1.8后,我无法从管理面板发送订单电子邮件。
当下新订单时,客户会收到订单电子邮件,但是当我尝试从管理面板The order email has been sent
显示消息时重新发送订单电子邮件,但客户和管理员都没有收到该电子邮件。< / p>
我打开了日志记录并尝试发送订单电子邮件,但没有记录。有没有人遇到过这个问题或找到任何解决方案?
答案 0 :(得分:15)
我自己一直在研究这个问题。我已经按照代码和函数回到了这个函数“public function sendNewOrderEmail()”in:
应用程序/代码/核心/法师/销售/型号/ Order.php
从第1270行开始是以下代码:
$emailSentAttributeValue = $this->load($this->getId())->getData('email_sent');
$this->setEmailSent((bool)$emailSentAttributeValue);
if ($this->getEmailSent()) {
return $this;
}
这是检查sales_flat_order数据库表以查看电子邮件是否已经发送给客户,如果是,只是为了返回,但是这不会发送电子邮件并且应该抛出错误。所以我会说这是某个地方的错误。 要解决此问题,您可以重新发送订单/发票电子邮件等。
复制
应用程序/代码/核心/法师/销售/型号/ Order.php
到
应用程序/代码/本地/法师/销售/型号/ Order.php
并注释掉第1273行
if ($this->getEmailSent()) {
//return $this;
}
为我带来魅力。但实际上只有第二次测试了它。
使用ver测试1.8.1
答案 1 :(得分:1)
我还在CE 1.9.1中没有发送订单电子邮件的问题,但在一段时间后发现了问题:
自Magento CE 1.9.1开始,Magento在订购过程中不会直接发送订单电子邮件。 相反,邮件排队并由cron发送。 因此,请确保正确配置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