php - 向多个收件人发送电子邮件时出现问题

标签 php email

我开始管理一个拥有超过 50,000 名注册成员(member)的网站。

我遇到了这个问题:

每次我尝试发送电子邮件时,页面都会运行几分钟(超过 20 分钟),最终以“内部服务器错误”结束。

现在,我不知道发送了多少邮件,也不知道是否发送了邮件。

我如何发送电子邮件:

我从数据库中选择所有电子邮件,运行循环并一封接着一封地发送。我选择这个选项是因为:

  1. 我不想在“收件人”字段中添加多封电子邮件,这样可以保护人们的隐私。

  2. 在密件抄送中添加电子邮件将使其显示为垃圾邮件。

请问我该如何处理这个问题。

谢谢

最佳答案

您所需要做的就是将工作分解为可管理的 block ,而不是阅读所有 50,000 封电子邮件并尝试将其全部发送。

  1. 一次仅从数据库中读入 X 封电子邮件。
  2. 单独发送这批 X 封电子邮件(如果 X = 10,您将发送 10 封单独的电子邮件)。
  3. 发送每封电子邮件后,立即将每封电子邮件标记为“已发送”,否则,如果出现错误,您可能需要增加该特定电子邮件的“发送尝试次数”。
  4. 发送(或尝试)X 封电子邮件后,更新您的统计信息以表明 X 封电子邮件已发送。
  5. 返回 1。

我建议从X = 1开始

关于php - 向多个收件人发送电子邮件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6320856/

相关文章:

php - 使用 Apache Solr 索引 pdf 文件内容

php - 如何使用ajax传递字符串数组?

c# 从 Outlook 收件箱转发电子邮件

php - 在数据库中插入新记录时显示通知

php - 连接到新服务器时出现 CodeIgniter 2 错误。调用成员函数 num_rows()

javascript - 使用 PHP 从 Ionic 框架发布数据

python - 保存电子邮件附件(python3、pop3_ssl、gmail)

java - Android SQL数据库创建时出错

c# - 电子邮件支持部分,用户地址为 "From address"

java.lang.LinkageError : loader constraint violation:previously initiated loading for a different type with name "javax/mail/Session" 错误