Magento网站我一直在维持停止发送订单确认和/或发票。
电子邮件设置中没有任何更改,它们都符合常见的Magento指南。我尝试通过以下php脚本发送测试电子邮件,以确保它不是由任何服务器设置引起的:
<?php
$to = "me@domain.com";
$subject = "Test email";
$message = "This is a test email.";
$from = "testing@anothertest.test";
$headers = "From:" . $from;
if (mail($to, $subject, $message, $headers)) {
echo("Your message has been sent successfully");
} else {
echo("Sorry, your message could not be sent");
}
?>
测试信息得到了完美的传递。
我安装了SMTP Pro Email plugin以查看更改设置是否会管理结果;没有。该插件提供了发送测试电子邮件的功能,该测试电子邮件再次发送时没有任何缺陷。
更奇怪的是,点击Magento后端的“发送电子邮件”按钮,订单 即可发送电子邮件。注册简报 会产生订阅确认请求电子邮件。显然,网站可以发送邮件,它只是以某种方式触发订单确认和发票。
是的,两者都是
系统&gt;配置&gt;销售&gt;销售电子邮件&gt;订单&gt;已启用
和
系统&gt;配置&gt;销售&gt;销售电子邮件&gt;发票&gt;已启用
设置为是并包含BCC地址。
同样,
系统&gt;配置&gt;高级&gt;系统&gt;邮件发送设置&gt;禁用电子邮件通讯
设置为否。
我在这个网站上运行Magento CE 1.6.2,所以这不是普通的cron工作问题,1.9版似乎会引起很多人的注意。
我在这里绞尽脑汁,有人知道吗?
答案 0 :(得分:1)
仍然没有找到导致问题的原因,但是在succes.phtml中添加了一些代码以强制在加载该页面时发送邮件:
<?php
$order = new Mage_Sales_Model_Order();
$incrementId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order->loadByIncrementId($incrementId);
try
{
$order->sendNewOrderEmail();
} catch (Exception $ex) { }
?>
这不是最优雅的解决方案,但至少客户通过此解决方案获得订单确认。
答案 1 :(得分:1)
我使用的是1.8.1版本。我已经和同样的问题打了两个星期了。简单的解决方案来自于我“启用”System&gt;中的每个选项。配置&gt;高级。所有新的订单确认现在立即发送给下订单的人。
背景:在安装和配置新的Magento购物车之后,我注意到,如果我通过管理界面手动发送电子邮件,那么电子邮件才能通过。这告诉我服务器SMTP设置是正确的,但我想知道为什么下订单的人不会收到确认电子邮件...永远。经过大量的搜索和阅读后,我认为它与Magento购物车的其他功能之一有关。所以我在高级选项卡(系统&gt;配置&gt;高级)下进入系统配置,发现我已经禁用了Sendtofrined,Newsletter等某些内容。不想浪费时间,我只是简单地完成了整个过程。列出并启用一切。现在我有优惠券功能,添加到愿望清单功能和通讯内容,我不想在购物车中看到,但电子邮件正在立即可靠地进行。我现在将尝试通过消除过程找到与订单确认电子邮件相关的功能。但这对我来说很有用,我希望它可以帮助其他人,而无需在php文件中添加代码。