我正在用 php/mysql 编写时事通讯模块。
如何向不会导致我的邮件服务器被阻止的站点订阅者发送电子邮件?我的意思是它不被视为垃圾邮件发件人?
这个问题的完整答案确实超出了本网站的范围,因为其中大部分将涉及涉及域和服务器的管理任务。
但简短的回答是:不要这样做!您最终只会将您的服务器的 IP 列入黑名单,即使是从该服务器发送的少量电子邮件也毫无价值。
您应该查看其他选项;RSS 提要、第三方运行良好的邮件服务(如 Constant Contact)或其他东西。
使用 Cron 作业来执行此操作,并以小块的时间差发送邮件。
如果您想从您的网站发送电子邮件并且不被标记为垃圾邮件,则需要遵循几条规则:
从最明显的开始:检查以确保您的服务器的 IP 地址不在任何垃圾邮件黑名单上。试试这个网站:链接文本
默认情况下,从托管在 Apache 服务器上的网站发送的所有电子邮件都是从运行 Apache 服务器的用户发送的,通常是“nobody”。这是垃圾邮件过滤器的危险信号,因此您必须修改电子邮件服务器并不总是允许的“return-path”标头的值。如果您无法修改返回路径,那么您需要以另一个用户身份启动 apache,为您的 apache 服务器创建一个新帐户,将其命名为您喜欢的任何名称,只要它不是“nobody”,然后将 apache 服务器配置为运行这个新用户
为您用于发送电子邮件的 IP 地址设置反向 DNS 条目非常重要。该反向 DNS 条目必须指向指向该 IP 地址的相同域名。这实际上是最重要的事情。由于只有虚拟主机可以添加反向 DNS 条目,您应该要求您的主机为您执行此操作。
其他可以提供帮助的较小步骤是在您的 DNS 服务器中配置适当的 spf 条目,另一个是使用数字签名来签署所有传出消息。我曾经为此使用一个名为 dksign 的程序,它现在可能不是最新的程序,因此请进行研究并找到签署消息的最佳方式。
创建主题行时使用常识。如果您在主题行中说“免费折扣优惠”或类似的内容或“获得伟哥”,那么无论如何,您的邮件都可能被标记为垃圾邮件。