我有一个多租户站点。我的一些客户在这里和那里发送 1 封电子邮件,其他客户可能一次发送 1,000 封。
我使用SendGrid.com作为我的邮件服务器,使用SwiftMailer.org作为我的 PHP 代码。
问题是每封电子邮件都需要一秒钟左右的时间才能发送。我想它需要连接到 SendGrid.com 以进行身份验证等。因此,如果您发送 1,000 封电子邮件,实质上它会超时大约需要 1,000 秒。
我认为最好的方法是将电子邮件存储在数据库中,然后通过 cron 作业将它们发送出去。
那会是最有效的方法吗?我应该一次只发送一定数量的电子邮件吗?例如,每个 cron 作业 100 个?
当我谈到 cron 作业时,cron 作业可以跨圈吗?因此,如果我让它每分钟运行一次 cron 作业,并且该页面需要 2 分钟来发送所有电子邮件,那么该 cron 作业会在一分钟后再次运行,还是会等待 2 分钟直到最后一个 cron 作业处理完毕?
谢谢你的帮助!
本