这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。

最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。

尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件

我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。


当前回答

要允许DMARC检查SPF通过,并在使用sendmail时进行对齐,请确保将信封发件人地址(-f或-r参数)设置为与From:报头地址中的域匹配的内容。

PHP:

使用PHP内置的mail()函数而不设置第5个参数将导致DMARC SPF检查不对齐。默认情况下,sendmail将以web服务器的用户RFC5321发送电子邮件。MailFrom / Return路径头。

例如,假设您在host.com web服务器上托管您的网站domain.com。如果您不设置附加参数参数:

mail($to,$subject,$message,$headers); // Wrong way

电子邮件收件人将收到一封带有以下邮件标题的电子邮件:

Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>

即使这通过了SPF检查,它也将是不对齐的(因为domain.com和host.com不匹配),这意味着DMARC SPF检查将失败为不对齐。

相反,你必须通过包含PHP mail()函数中的第5个参数将信封发件人地址传递给sendmail,例如:

mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way

在这种情况下,电子邮件收件人将收到一封带有以下邮件标题的电子邮件:

Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>

由于这两个报头都包含来自domain.com的地址,因此SPF将通过并对齐,这意味着DMARC也将通过SPF检查。

其他回答

发送电子邮件有时就像黑魔法一样。反向DNS非常重要。

我发现仔细跟踪ndr非常有用。我把我所有的ndr都指向一个地址,我有一个windows服务解析它们(谷歌ListNanny)。我把尽可能多的NDR信息存入数据库,然后运行报告,看看我是否突然开始被某个域阻塞。此外,您应该避免向先前标记为NDR的地址发送电子邮件,因为这通常是垃圾邮件的良好指示。

如果你需要一次发送一堆客户服务邮件,最好在每一封之间都有一个延迟,因为如果你一次向一个域名发送太多几乎相同的邮件,你肯定会被列入他们的黑名单。

有些域名有时是不可能交付的。Comcast.net是最糟糕的。

确保你的ip地址没有出现在http://www.mxtoolbox.com/blacklists.aspx这样的网站上。

您可以考虑使用第三方电子邮件服务来处理投递问题:

确切的目标 垂直响应 不断的联系 竞选班长 艾玛 返回路径 IntelliContact ”

听起来你是在依赖一些反馈来确定接收端的问题是什么。您应该自己检查出站邮件是否有明显的“垃圾邮件”。

买一个像样的垃圾邮件控制系统,然后通过它发送邮件。如果要发送相当数量的邮件,无论如何都应该这样做,因为有发送出站病毒的风险,特别是如果您使用的是桌面windows用户。

例如,Proofpoint在一次部署中提供了垃圾邮件+反病毒+一些信誉服务。(我曾经在那里工作过,所以我碰巧知道这个。我相信这个领域的其他供应商也有类似的功能。)但你懂的。如果您通过基本的商业垃圾邮件控制设置发送邮件,但邮件没有通过,那么它不应该流出您的网络。

此外,还有一些公司可以帮助你提高非垃圾邮件的发送率,如人身保护令。

要允许DMARC检查SPF通过,并在使用sendmail时进行对齐,请确保将信封发件人地址(-f或-r参数)设置为与From:报头地址中的域匹配的内容。

PHP:

使用PHP内置的mail()函数而不设置第5个参数将导致DMARC SPF检查不对齐。默认情况下,sendmail将以web服务器的用户RFC5321发送电子邮件。MailFrom / Return路径头。

例如,假设您在host.com web服务器上托管您的网站domain.com。如果您不设置附加参数参数:

mail($to,$subject,$message,$headers); // Wrong way

电子邮件收件人将收到一封带有以下邮件标题的电子邮件:

Return-Path: <your-website-user@server.host.com>
From: <your-website-user@domain.com>

即使这通过了SPF检查,它也将是不对齐的(因为domain.com和host.com不匹配),这意味着DMARC SPF检查将失败为不对齐。

相反,你必须通过包含PHP mail()函数中的第5个参数将信封发件人地址传递给sendmail,例如:

mail($to,$subject,$message,$headers, '-r bounce_email@domain.com'); // Right way

在这种情况下,电子邮件收件人将收到一封带有以下邮件标题的电子邮件:

Return-Path: <bounce_email@domain.com>
From: <your-website-user@domain.com>

由于这两个报头都包含来自domain.com的地址,因此SPF将通过并对齐,这意味着DMARC也将通过SPF检查。

你能做的最重要的事情是确保你要发送电子邮件的人在收到你的电子邮件时不太可能点击“垃圾邮件”按钮。所以,请遵循以下经验法则:

Make sure you have permission from the people you are sending email to. Don't ever send email to someone who did not request it from you. Clearly identify who you are right at the top of each message, and why the person is receiving the email. At least once a month, send out a reminder email to people on your list (if you are running a list), forcing them to opt back in to the list in order to keep receiving communications from you. Yes, this will mean your list gets shorter over time, but the up-side is that the people on your list are "bought in" and will be less likely to flag your email. Keep your content highly relevant and useful. Give people an easy way to opt out of further communications. Use an email sending service like SendGrid that works hard to maintain a good IP reputation. Avoid using short links - these are often blacklisted.

遵循这些经验法则将大有裨益。