我的服务器和php mail()函数将电子邮件发送到垃圾邮件文件夹

时间:2010-11-15 10:52:49

标签: smtp sendmail phpmailer php

有什么方法可以在我的Linux服务器上安装SMTP服务并使用php通过它发送电子邮件吗?

以便电子邮件不会显示为垃圾邮件?

也许是通过ssl?

我的mail()功能很完美,有完美的标题,但仍然发送垃圾邮件:(

谢谢。

3 个答案:

答案 0 :(得分:2)

another answer交叉发布自己:

一些要点(假设mail()返回true并且错误日志中没有错误):

  • 发件人地址(“发件人”)是否属于您服务器上的域?如果没有,那就这样吧。
  • 您的服务器是否在黑名单上(例如,检查spamhaus.org上的IP)?这是共享主机的远程可能性。
  • 邮件是否通过垃圾邮件过滤器过滤?使用具有垃圾邮件文件夹的freemailer打开一个帐户并查找。此外,尝试将邮件发送到没有垃圾邮件过滤器的地址。
  • 您是否可能需要mail()的第五个参数“-f”来添加发件人地址? (参见PHP手册中的mail()命令)
  • 如果您有权访问日志文件,请按照上面的建议检查这些文件。
  • 您是否检查了“发件人:”地址是否有可能的退回邮件(“退回发件人”)?您还可以设置单独的“错误到”地址。

答案 1 :(得分:1)

这里可能涉及很多变量。

您对完美标题的想法似乎是主观的。我建议您使用PHPMailer或Swiftmailer之类的东西来处理您的邮件需求。

您可能需要考虑的其他一些变量是处理退回的电子邮件,并确保以块的形式发送邮件而不是发送大量邮件。

答案 2 :(得分:0)

您可以重新检查标题,也许地址标题中可能有空格或其他内容,您还可以检查服务器的IP是否已列入黑名单(http://www.anti-abuse.org/multi-rbl -check /)