【问题标题】:1.9.1 Magento sending confirmation emails to previous customers via CC1.9.1 Magento 通过 CC 向以前的客户发送确认电子邮件
【发布时间】:2023-03-21 23:42:01
【问题描述】:

我对 Magento 1.9.1 有疑问。 如您所知,只有将 cron.php 放入 cronjob 到 cpanel 时,1.9.1 才会发送邮件。

但是当它向新订单的新客户发送交易电子邮件时,它会将一些以前的随机客户添加到 CC。

现在很烦人,我找不到任何解决方案,而且我确定这是 Magento 的一些错误。

我最终进入了 core_email_queue_recipients 表,我认为这保留了队列,但我担心,如果我截断这个表,新客户会再次出现这个问题。

【问题讨论】:

  • 这听起来很奇怪 - 我根本没有看到这种行为。你能复制这个吗?如果是这样,请尝试禁用所有第三方扩展并运行测试。
  • 禁用所有扩展会非常复杂,因为有很多扩展,我需要所有这些,但我需要在测试服务器上执行此操作...
  • 是的,在您知道可以复制问题的登台/测试/开发服务器上执行此操作。仔细研究,看看它是否识别出一个你可以调试的扩展
  • 你能分享你的 cron 工作代码吗?你也能解释一下你的要求吗?当他/她的帐户处于活动状态时,您需要发送确认电子邮件吗?

标签: email magento


【解决方案1】:

我将 core_email_queue_recepeints 表清空,从那时起,现在一切似乎都在工作......直到现在,我希望它会保持这种状态。

无论如何:问题是由于 magento 也向另一个客户添加了相同的消息 id...但是为什么,我不知道。

【讨论】:

    【解决方案2】:

    问题是 core_email_queue_recipients 表中缺少外键。

    这基本上是一个 magento 1.9 错误。

    按照以下答案中的步骤操作,https://magento.stackexchange.com/questions/53961/new-order-email-being-sent-twice/87299#87299

    最重要的是ALTER TABLE语句和清表:

    DELETE FROM core_email_queue_recipients WHERE message_id NOT IN (SELECT message_id FROM core_email_queue);
    DELETE FROM core_email_queue_recipients WHERE recipient_id < (SELECT recipient_id FROM (SELECT recipient_id FROM core_email_queue_recipients ORDER BY message_id ASC, recipient_id DESC LIMIT 1) AS r);
    ALTER TABLE core_email_queue_recipients ADD FOREIGN KEY(message_id) REFERENCES core_email_queue(message_id) ON DELETE CASCADE;
    

    希望这会有所帮助,因为它对我很有效!

    【讨论】:

      【解决方案3】:

      此问题似乎与 cron 作业有关。 magento 电子邮件正在发送给所有正在处理/待处理订单的客户。因此,如果您在下一个订单下订单之前确认订单发货,您将不会遇到此问题。我找到了这个论坛:https://magento.stackexchange.com/questions/45571/new-order-email-confirmation-not-being-sent-magento-1-9-1

      还有其他人尽快解决这个问题吗?感谢您的帮助

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 2020-06-03
      相关资源
      最近更新 更多