【问题标题】:Send order email from admin not working in Magento 1.8从管理员发送订单电子邮件在 Magento 1.8 中不起作用
【发布时间】:2014-06-30 18:24:58
【问题描述】:

将我的网站从 1.4 升级到 1.8 后,我无法从管理面板发送订单电子邮件。

下新订单时,客户会收到订单电子邮件,但当我尝试从管理面板The order email has been sent 重新发送订单电子邮件时,会显示消息,但客户和管理员都没有收到电子邮件。

我打开了日志并尝试发送订单电子邮件,但没有任何日志。有没有人遇到过这个问题或找到任何解决方案?

【问题讨论】:

    标签: magento magento-1.8


    【解决方案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

    【讨论】:

      【解决方案2】:

      我自己一直在研究这个。我已经按照代码和函数回到了这个函数“public function sendNewOrderEmail()”中:

      app/code/core/Mage/Sales/Model/Order.php

      从第 1270 行开始是以下代码:

      $emailSentAttributeValue = $this->load($this->getId())->getData('email_sent');
          $this->setEmailSent((bool)$emailSentAttributeValue);
          if ($this->getEmailSent()) {
              return $this;
          }
      

      这是检查 sales_flat_order 数据库表,以查看电子邮件是否已发送给客户,如果是,则返回,但这不会发送电子邮件并应引发错误。所以我会说这是某个地方的错误。 修复它,以便您可以重新发送订单/发票电子邮件等。

      复制

      app/code/core/Mage/Sales/Model/Order.php

      app/code/local/Mage/Sales/Model/Order.php

      并注释掉第 1273 行

      if ($this->getEmailSent()) {
                  //return $this;
              }
      

      对我很有魅力。但实际上只有这一秒测试了它。

      使用版本测试。 1.8.1

      【讨论】:

      • 发现,在 CE 1.9.0 上也有同样的问题
      • + 1 用于使用本地文件夹。谢谢,这让我很头疼。
      猜你喜欢
      • 2014-06-28
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 2014-09-25
      相关资源
      最近更新 更多