【问题标题】:How to wp_mail sends 50 email every hour?wp_mail如何每小时发送50封电子邮件?
【发布时间】:2019-11-25 12:15:13
【问题描述】:

我在 cron 中创建了一个函数,它通过 wp_mail() 发送大约 250 封电子邮件。但是,我的托管服务提供商不允许每小时发送超过 50 封电子邮件。有没有办法强制 wordpress 缓存所有电子邮件并每小时发送 50 封?

谢谢!

【问题讨论】:

    标签: wordpress email email-delivery


    【解决方案1】:

    以下是您可以遵循的逻辑:

    • 当您想触发 250 封电子邮件时,请调用一个函数以数组格式保存所有 250 封电子邮件。一个电子邮件数组,其中包括电子邮件 ID、电子邮件主题、电子邮件内容、标题(如果有)等。
    • 创建服务器端 CRON 以每 5 分钟运行一次。
    • 服务器 CRON 将转到设置并获取 OLDEST 50 电子邮件,这些电子邮件也将从设置中删除。这意味着如果我们有 250 封电子邮件,那么我们将在设置中留下 200 封电子邮件。
    • 接下来,Server CRON 将简单地调用 wp_email 函数并成功发送 50 封电子邮件。
    • 同样,它会一直发送电子邮件,直到设置中的所有电子邮件都为空。

    我希望这是有道理的。谢谢。

    【讨论】:

      【解决方案2】:

      您可以创建一个名为 tasklist 的新表,然后将所有“发送”电子邮件放入其中并编写您的 cronjob 以每小时运行 50 个此类条目。在表中放置一个标志列以标记发送哪个,并将您的脚本设置为发送未标记的那些。

      【讨论】:

      • 你不需要一个新表,你可以保存电子邮件以使用update_option在wordpress选项中发送
      • 这是我没有体验过的另一种方法。但是将所有电子邮件放在一个表格中可以使进一步的任务更容易。此外,将add_option 与电子邮件模板和标志以及可能的其他参数一起使用可能不是最好的方法。不过不确定。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 2011-02-08
      相关资源
      最近更新 更多