【问题标题】:How can I send regularly scheduled emails without setting up a cron job?如何在不设置 cron 作业的情况下定期发送电子邮件?
【发布时间】:2011-06-06 17:38:42
【问题描述】:

我正在使用 PHP 建立一个订阅站点,它允许管理员设置时间表(每月、每周、每天,精确到分钟),以便将电子邮件发送给订阅者。是否有插件、扩展程序甚至库可以让我根据预定的时间表发送这些电子邮件?

我曾想过设置一个 cron 脚本来每分钟检查一次待处理的电子邮件,但我估计我的网站的流量很大,我担心它会给我的服务器带来太大的压力。

如果这个插件、扩展等能够提供分析数据作为回报,那就太好了。但这绝对不是至关重要的。

【问题讨论】:

  • 替代方案如何减少服务器上的负载?或者您是否正在寻找第三部分电子邮件发送服务? - PHP 不在后台运行。做你所说的唯一方法是每次有人访问你的网站时检查新的事情要做。 Cron 是最好的。
  • 我认为这正是 cron 的用途。
  • 理想情况下,我希望由第 3 方来处理实际处理。我担心的不是cron,而是它将执行的脚本。因此,如果我可以将这部分外包出去,那就太好了。

标签: php email smtp cron scheduled-tasks


【解决方案1】:

cronjob 服务本身占用的资源很少。它调用的脚本完成的工作对您的服务器有任何影响。这意味着无论您使用什么方法定期发送电子邮件、cronjob 或其他方式,服务器通过发送这些邮件所承受的负载都将是相同的。因此,如果您的服务器速度过慢,您可能需要专用服务器或更多资源。 cron 服务本身确实会减慢任何速度(除非您每秒调用 10 次)

【讨论】:

  • 是的,我实际上并不担心 cronjob 本身会导致延迟。脚本本身可能正在处理大量信息,我希望至少将其中一些工作外包给第 3 方扩展。
【解决方案2】:

您可以从外部调用 php 脚本,从某个可以设置预定调用的地方(可能是您的 PC 或其他托管服务)。大多数共享主机支持时间表。查看控制面板(cpanel、plesk、...):

【讨论】:

    猜你喜欢
    • 2014-11-05
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    相关资源
    最近更新 更多