这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。
尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件
我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。
这是一个棘手的问题,我一直依赖于技术,比如基于许可的电子邮件(即只发送给你有权发送的人),而不是公然使用垃圾邮件术语。
最近,我以编程方式发送的一些电子邮件开始被自动转移到别人的垃圾邮件文件夹中,我不知道该怎么办。
尽管这些特定的电子邮件并不是人类会标记为垃圾邮件的,具体来说,它们是包含许可密钥的电子邮件,人们已经花了很多钱购买,所以我不认为他们会认为它们是垃圾邮件
我认为这是一个很大的话题,在这个话题上我基本上是一个无知的傻瓜。
当前回答
要允许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检查。
其他回答
听起来你是在依赖一些反馈来确定接收端的问题是什么。您应该自己检查出站邮件是否有明显的“垃圾邮件”。
买一个像样的垃圾邮件控制系统,然后通过它发送邮件。如果要发送相当数量的邮件,无论如何都应该这样做,因为有发送出站病毒的风险,特别是如果您使用的是桌面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检查。
发送电子邮件有时就像黑魔法一样。反向DNS非常重要。
我发现仔细跟踪ndr非常有用。我把我所有的ndr都指向一个地址,我有一个windows服务解析它们(谷歌ListNanny)。我把尽可能多的NDR信息存入数据库,然后运行报告,看看我是否突然开始被某个域阻塞。此外,您应该避免向先前标记为NDR的地址发送电子邮件,因为这通常是垃圾邮件的良好指示。
如果你需要一次发送一堆客户服务邮件,最好在每一封之间都有一个延迟,因为如果你一次向一个域名发送太多几乎相同的邮件,你肯定会被列入他们的黑名单。
有些域名有时是不可能交付的。Comcast.net是最糟糕的。
确保你的ip地址没有出现在http://www.mxtoolbox.com/blacklists.aspx这样的网站上。
大多数程序生成的电子邮件的意图通常是事务性的,触发或警报性质-这意味着这些重要的电子邮件永远不应该成为垃圾邮件。
话虽如此,在将电子邮件标记为垃圾邮件之前,有多个参数需要考虑。虽然电子邮件列表的质量是需要考虑的最重要的参数,但我在这里跳过了讨论,因为这里我们讨论的是发送给我们自己或已知电子邮件地址的重要电子邮件。
除了列表质量,其他3个重要参数是;
发送者的声誉 符合电子邮件标准和认证(SPF, DKIM, DMARC, rDNS) 邮件内容
发件人信誉度=发送IP地址信誉度+返回路径/信封域信誉度+来自域信誉度。
关于你的发件人信誉是什么,没有直接的答案。这是因为有多个权威机构,如SenderScore、声誉权威机构等,他们为您的域维护声誉评分。除了像Gmail、雅虎、Outlook这样的互联网服务提供商,Outlook还在他们的终端维护着每个域名的声誉。
但是,你可以使用像GradeMyEmail这样的免费工具来360度地了解你的声誉和你的电子邮件设置或任何其他与合规相关的问题的潜在问题。
有时候,如果你用一个新域名来发送电子邮件,那么这些域名也会被发现是垃圾邮件。你应该检查你的域名是否在全球屏蔽列表中。GradeMyEmail和MultiRBL是识别区块列表的有用工具。
一旦你非常确定发件人信誉评分,你应该检查你的电子邮件发送域是否符合所有电子邮件认证和标准。
防晒系数 DKIM DMARC 反向DNS
为此,您可以再次使用GradeMyEmail或MXToolbox来了解身份验证的潜在问题。
您的SPF, DKIM和DMARC应始终通过,以确保您的电子邮件符合标准的电子邮件认证。 下面是Gmail中这些身份验证的示例:
同样,你可以使用像Mail-Tester这样的工具,它可以扫描完整的电子邮件内容,并告诉可能触发垃圾邮件过滤器的潜在关键字。
很可能的情况是,注册你的服务的人输入的电子邮件中有打字错误,你没有纠正。例如:chris@gmial.com -或- james@hotnail.com。
这样的域名被配置为垃圾邮件陷阱,它会自动标记您的电子邮件服务器的IP和/或域名,并损害其声誉。
为了避免这种情况,请仔细检查产品订阅时输入的电子邮件地址。此外,在向他们发送产品密钥或接受他们的订阅之前,发送确认电子邮件,以真正确保输入确认电子邮件的人100%验证此电子邮件地址。验证电子邮件应该要求收件人点击链接或回复,以真正确认邮箱的所有者是注册的人。