Php 如何在backgroup过程中发送大量电子邮件

Php 如何在backgroup过程中发送大量电子邮件,php,email,drupal-7,drupal-modules,mime-mail,Php,Email,Drupal 7,Drupal Modules,Mime Mail,我有Drupal网站,我在自定义模块中创建了自定义菜单 我需要用不同的电子邮件问候语向10000名用户发送电子邮件。我正在获取每个用户的配置文件信息,然后向每个用户发送电子邮件 但问题是,完成请求需要花费大量时间,有时会导致请求超时错误 所以我想要这样的功能,我可以在几秒钟内得到回复,所有的电子邮件将运行在后台进程 有什么想法吗?您应该设置一个cron,在服务器上每隔3/5/7等分钟运行一次。然后在每次运行中,您可以向100200500个用户发送电子邮件,并设置一个标志以减少重复。根据服务器的执

我有Drupal网站,我在自定义模块中创建了自定义菜单

我需要用不同的电子邮件问候语向10000名用户发送电子邮件。我正在获取每个用户的配置文件信息,然后向每个用户发送电子邮件

但问题是,完成请求需要花费大量时间,有时会导致请求超时错误

所以我想要这样的功能,我可以在几秒钟内得到回复,所有的电子邮件将运行在后台进程


有什么想法吗?

您应该设置一个cron,在服务器上每隔3/5/7等分钟运行一次。然后在每次运行中,您可以向100200500个用户发送电子邮件,并设置一个标志以减少重复。根据服务器的执行时间,您可以选择不使用任何用户。然而,我认为500是一个很好的开始,它将只需要20个cron运行发送所有10k电子邮件

和/或您可以使用第三方服务,如mailchimp、sendgrid等来安排电子邮件


希望这会有帮助

但我想在没有cron作业的情况下手动发送这些电子邮件,因为我有菜单链接,因此当我单击该链接时,它将发送电子邮件OK,然后您应该使用Drupal中提供的批处理API进行批处理。请参见以下内容:“函数允许表单处理分散在多个页面请求上,从而确保处理不会因为PHP超时而中断,同时允许用户接收有关正在进行的操作进度的反馈。“考虑使用一些外部服务,例如mailchimp。我担心你的ip地址在发送了这么多电子邮件后会被列入黑名单。。。