小编典典

如何每周发送100,000封电子邮件?

php

如何使用PHP每周向100,000个用户发送一封电子邮件?

重要的是,实际上应尽可能发送所有电子邮件。显然,按常规发送邮件只会产生问题。

是否有用于PHP的库使此过程更简单?


阅读 700

收藏
2020-05-26

共1个答案

小编典典

简短的答案: 虽然从技术上来讲,您每周可以自己发送10万封电子邮件,但是最简单,最简单,最便宜的解决方案是将其 外包 给专门从事
工作的公司之一(我 确实 说过“最便宜”:您尝试进行DIY时可以投入的开发时间(以及金钱)。

长答案: 如果您确定自己 绝对想 这样做,请为遭受伤害的世界做准备(毕竟,这是我们所谈论的电子邮件/电子失败)。你需要:

  • 电子邮件内容 不是 垃圾邮件(否则,您将在每个步骤中遇到其他主要障碍,甚至会 受到 法律影响)
  • 此外,您的内容应易于 垃圾邮件 区分开 -在某些情况下可能很难做到(我听说某家制药公司除了放弃电子邮件外几乎都必须放弃电子邮件,因为它们的商标在垃圾邮件中非常普遍)
  • 一台您自己的可配置SMTP服务器,当您将10万封电子邮件转储到该服务器时,它不会弯曲(您的ISP的上游服务器在这里不够用,您会使ISP感到非常不满;我们使用了两个专用的盒子)
  • 一些邮件包装器(例如,如果PHP是您的选择毒药,则是PhpMailer;使用PHP mail()本身就很可怕)
  • 您自己的发送方函数以循环运行,创建邮件并将它们传递给包装器(请注意,如果您的应用存在内存泄漏,则可能会遇到PHP的内存限制;您可能需要定期回收发送过程,甚至更好,将“创建电子邮件”和“发送电子邮件”完全解耦)

令人惊讶的是,这很容易。困难的部分实际上是发送它:

最重要的是,您必须管理其中的法律部分(各种联邦,州和地方法律;甚至在发送到美国以外的地方也要纠结于不同的法律领域(注意:您无法找到乔@
hotmail.com居住在西南埃尔波尼亚(Elbonia),该国是世界上最严厉的反垃圾邮件法律)。

我敢肯定,我错过了一些这类的九头蛇-
你还确定要自己做吗?如果是这样,将会掀起另一波浪,这次只是发送电子邮件中固有的烦人问题。(您会看到,SMTP是一种存储转发协议,这意味着您的电子邮件将在Internet上的许多SMTP服务器之间进行混洗,以期下一封电子邮件与最终收件人更接近。)电子邮件被发送到SMTP服务器,然后将其放入转发队列;时间到了,它将进一步转发到其他SMTP服务器,直到到达给定域的SMTP服务器为止。
,或者几分钟,几小时或几天,甚至永远不会。)因此,您将看到以下问题-大多数问题可能会在途中和目的地发生:

  • 远程SMTP服务器不想与您的SMTP服务器对话
  • 您的邮件被标记为垃圾邮件(<blink>既不是您的朋友,也不是<font color=...>
  • 您的邮件被送达数天甚至数周才送达(与流行观点相反,SMTP旨在尽最大努力在将来的某个时候传递邮件-而不是立即传递)
  • 您的邮件根本没有传递(已从第4跳上的电子邮件服务器发送,尚未从第5跳上的服务器发送,当前保存该消息的服务器崩溃,数据丢失)
  • 您的邮件在途中被某些Braindead服务器所破坏(此邮件在使用base64编码时可以解决,但是大小增加了,电子邮件 看起来 更可疑)
  • 您的邮件已送达,收件人似乎不希望它们(“我确定没有签名,我记得我一年前所做的事情”(当然,先生)
  • 用户使用各种版本的Microsoft Outlook及其对Internet邮件的 特殊 处理
  • 向导的学徒模式(自我强化的积极反馈循环-换句话说,自动电子邮件作为对自动电子邮件的答复…;您 真的 不想成为将其关闭的人,因为你会生气自己一半的互联网)

排查并解决此问题将是 您的 工作(提示:您基本上不能这样做)。经营合法群发邮件业务的人们知道,最终您无法解决它,他们也无法解决-
他们有充分研究,记录和概述的原因(甚至可以作为Powerpoint演示文稿进行) -包括声音和很酷的过渡效果-
您的老板可以理解),因为他们必须在一百万次之前对此进行解释。另外,对于实际上可以解决的问题,他们非常了解如何解决。

如果毕竟,您不灰心并且仍然想要这样做,那就继续吧:您甚至有可能找到更好的方法来这样做。只知道前进的道路并不容易-发送电子邮件是微不足道的,很难发送出去。

2020-05-26