-1

我正在运行小型社交网站。它在 PHP 中很重要(但在这种情况下并不相关)。

我的计划是通过允许注册用户收到有关站点中发生的某些事件的通知(例如“有人评论了您的内容”等)来使其更受欢迎。

目前,我的网站仅通过 SMTP (Gmail) 发送简单邮件(如带有确认链接的欢迎邮件)。不幸的是,Gmail 有一些限制 - 每天 2000 封邮件(付费版)。

所以下一步将是使用可以让我每天发送超过 2000 封邮件的东西。有 AuthSMTP、Sendgrid 等付费服务,但我更喜欢自己设置一些东西。用于从“no-reply@example.com”向注册用户发送超过 2000 封邮件的东西。

所以我的问题是:设置 MTA(邮件传输代理)从 php 社交网站发送邮件是一个好的选择吗?还是我应该走不同的路?

基本上我正在考虑设置 Postfix。

4

1 回答 1

3

首先,电子邮件并不像看起来那样简单。虽然您应该考虑运行自己的 MTA,但它并不总是最好的解决方案(取决于您的业务需求)。有很多服务,尽管是付费的,但现在可能足以满足您的需求。

如果您确实决定要运行自己的 MTA,那么您应该考虑以下几点:

  1. 运行 Sendmail 或 Postfix - 如果您要发送合理数量的电子邮件,这是一个偏好问题。但是每秒超过 10 封电子邮件,使用 Postfix(每天 864,000 封电子邮件)。

  2. 如果你最终运行 Postfix 并且有多个可用的 IP 地址,你可以设置一个 cronjob 来更改 Postfix 配置文件中的 IP 地址SIGHUP并向程序发送信号。这将使 Postfix 开始使用不同的 IP 地址来发送邮件,并绕过一些对 IP 的限制,例如 MSN,它们不允许x在特定时间跨度内发送超过电子邮件而不考虑它们是垃圾邮件。

  3. Spamassasin - 在发送邮件之前使用它扫描您的邮件,如果由于某种原因您的服务器感染了垃圾邮件传播病毒,您会庆幸拥有它(而不是乞求黑名单将您删除)。

  4. 使用各种 IPS 注册白名单程序或投递跟踪程序,例如Microsoft 的 Postmaster

  5. 密切关注黑名单并确保您的 IP 未在其中列出。它们有很多,但监视主要的就足够了。

  6. 如果您想代表另一个域或子域发送邮件,则需要正确设置反向 DNS 和可能的一些 SPF 记录。

  7. 使用良好的 PHP 库来发送邮件,例如SwiftMailer或您喜欢的任何其他库。

希望这可以帮助!

编辑:

既然您在评论中提到它,也请仔细阅读:2003 CAN-SPAM Act

于 2010-12-26T00:12:03.010 回答