西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

Magento订单成功无邮件发送

时间:2015-07-14 13:40来源:未知 作者:好模板 点击:
Magento订单成功之后,或是有新的订单在MAGENTO1.9.1版本中不发送相应的邮件及抄送邮件至管理员邮箱 这个问题是今天我们的一个客户从1.7升级到1.9.1.1时发现的,后来听技术人员说,此问

Magento订单成功之后,或是有新的订单在MAGENTO1.9.1版本中不发送相应的邮件及抄送邮件至管理员邮箱

这个问题是今天我们的一个客户从1.7升级到1.9.1.1时发现的,后来听技术人员说,此问题是由于MAGENTO更改了系统本身的邮件发送方式,所有的这类事情处理都交给了

cron.php这个文件来完成 ,但是并不是所有的用户把此文件设置为隔一些时间就执行一次,因此还是需要在客户量不大的情况下使用立即触发式的邮件发送方式

您只需要修改

app/code/core/Mage/Core/Model/Email/Template.php

下的大约407行

        if($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {

        if(!($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue)) {

这样子修改之后我们测试发现在后台添加SHIPPINGMENT信息的时候会出现空白页面,打开错误提示就可以看到

Fatal error: Call to a member function setMessageBody() on a non-object in  public_html/app/code/core/Mage/Core/Model/Email/Template.php on line 410

 

那么终极的解决文案是

if (false) {

 

或者是修改

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

所有的

 $mailer->setQueue($emailQueue)->send();

$mailer->send();
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------