cron正在工作,但没有发送magento的电子邮件

时间:2016-12-06 16:22:21

标签: php email magento cron

我在magento 1.9.2和Ultimo主题上运行我的网站。 一切都很好,但今天我才知道交易电子邮件没有发送,我开始弄明白。 我已经安排了AOE Schedular,之前它给了我一个没有发现心跳的错误。但后来我读了一些博客并做了一些改动,现在它正在工作,但仍然没有发送电子邮件。 奇怪的是,在que list中,它显示在它成功之前我还收到了所有订单的电子邮件但是从昨天开始它就被淘汰了。下面是截屏。 screen shot

我已经检查了所有可能性,因为我在同一台服务器上也有另一个网站,而cron设置也与其他网站相同。 0/5 ****

请帮助我,因为我的客户抱怨我没有收到任何确认电子邮件。

1 个答案:

答案 0 :(得分:2)

有两种方法可以处理电子邮件发送。

首先,安装Cron作业

步骤1:首先登录管理面板。

步骤2:进入管理菜单“系统>配置>高级>系统> Cron”。

首先,确认您已在Magento管理员中设置了Cron任务。

有关设置Cron的帮助,请参阅网址:http://www.magikcommerce.com/blog/how-to-setup-a-cron-job-in-magento-magento-cron-tutorial/

步骤3:在Magento根目录中找到cron.php文件,并每5分钟设置一次cron作业。

其次,交易电子邮件将立即发送。

步骤1:在行号附近找到order.php app / code / core / Mage / Sales / Model / Order.php。 1356年和1450年。 并找到

$mailer->setQueue($emailQueue)->send(); in order.php file and change/replace to
$mailer->send();

步骤2:转到app / design / frontend / base / default / template / checkout / success.phtml

并在成功页面顶部添加以下行,以便直接发送邮件

$order = Mage::getModel('sales/order');
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId(); 
$order->loadByIncrementId($incrementId);

try{ $order->sendNewOrderEmail();} 
catch (Exception $ex) { echo "Email Not Sent..."; }
$customer = Mage::getSingleton('customer/session')->getCustomer();
$email = $customer->getEmail();//End Email Sending