如何在使用PHP发送邮件时删除"via"和服务器名称?

lis*_*aro 14 php email

当我用PHP发送邮件时,destinatary获得了这样的标题:

   noreply@justwalk.it **via** de p3nlhg147.shr.prod.phx3.secureserver.net
Run Code Online (Sandbox Code Playgroud)

我想删除"via"部分.来自网站的大多数自动邮件都没有"通过",所以当然可以删除它.

他们是如何做到的呢?

ric*_*ard 22

是的,你可以摆脱"通过"部分.这是详细信息:

1) SPF and DKIM
Run Code Online (Sandbox Code Playgroud)

首先,您需要为要发送电子邮件的域设置SPF记录,并启用DKIM.这些主要用于识别您的垃圾邮件.

2) "From: anything@yourdomain.com"
Run Code Online (Sandbox Code Playgroud)

其次,请确保将"发件人:"标题设置为您要发送邮件的域中的电子邮件地址.不要假装成别人.如果您从abc.com发送消息,请使用"From:someone@abc.com",而不是其他任何消息,例如blah@def.com或yours@gmail.com,或其他任何内容.如果您希望收件人回复您的Gmail电子邮件而不是您的域电子邮件,请使用"回复:"标题."发件人:"必须始终是您发送电子邮件的域电子邮件.

3) "Return-Path: return@yourdomain.com"
Run Code Online (Sandbox Code Playgroud)

第三,也是最重要的是,将"Return-Path:"标题设置为与"From:"标题相同的域.使用mail()函数的第5个参数:

mail('recipient@example.com', 'Subject', "Message Body", $headers, '-freturn@yourdomain.com')
Run Code Online (Sandbox Code Playgroud)

因此,此消息的返回路径为"return@yourdomain.com"(紧接在-f开关之后的电子邮件地址).$ headers参数应包含所有必需的邮件头.确保"From:"是something@yourdomain.com.

完成这些步骤和措施后,Gmail现在应该完全信任来自yourdomain.com的邮件.消息的"via"字段应该消失,"mailed-by"字段以及"signed-by"字段应该正确显示为yourdomain.com.

希望能帮助到你!


小智 8

我也提出了同样的问题.但是我通过使用以下代码克服了这个问题:

mail('maaaa@abcd.com', 'the subject', 'the message', null,'-faaa@abc.com');
Run Code Online (Sandbox Code Playgroud)

确保最后一个参数是-f和电子邮件地址.

你可以添加

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";<br />
mail('maaaa@abc.com', 'the subject', 'the message body in html format', $headers,'-faaaa@abc.com');
Run Code Online (Sandbox Code Playgroud)

对于电子邮件中的html邮件正文.