我们在一个专用服务器上托管了三个域,每个服务器都有自己的专用IP。
域A - 具有服务器主IP地址(默认服务器IP)
域B - 有自己的IP地址
域C - 有自己的IP地址
如果一封电子邮件从域B发出,那么它在外发中使用域A IP地址,这使得使用PHP从域B发送的电子邮件直接转到Gmail等垃圾邮件箱。
有没有办法根据PHP中的电子邮件来源更改源IP?我们应该改变什么来解决这个问题?
答案 0 :(得分:1)
这与PHP无关。
不,你不能以你建议的方式欺骗地址 - 但是电子邮件被归类为垃圾邮件的原因是因为你只在你的SPF中发布了主机A.只需将其他人添加到允许的发件人列表中:
"v=spf1 a:hostA.example.com a:hostB.example.com a:hostC.example.com"
下进行。
答案 1 :(得分:0)
您没有提供有关您的服务器设置的任何详细信息,因此无法真正解答。但是,PHP可以使用您喜欢的SMTP服务器。设置此功能的最简单方法是使用PHPMailer等工具。
如果您无法更改发送的IP,则需要更改域B的MX record,使域A(或其IP)成为该域的邮件服务器。我很确定像Google邮件这样的垃圾邮件过滤器只会查找MX记录。当然,您必须在域A上同时拥有电子邮件发送和接收设施才能使用。
答案 2 :(得分:0)
PHP通常设置为将邮件丢弃到localhost MTA,后者将始终从自己的绑定IP地址发送邮件。所以,没有。
为了减少被标记为垃圾邮件的可能性,因为您的邮件来自的地址与域的DNS记录(MX或后备A)无关,请在DNS中添加SPF record所有域名都说来自发送IP地址的邮件没问题。