如何确保以编程方式发送的电子邮件不会被自动标记为垃圾邮件?

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

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

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

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

114597 次浏览

您可以告诉用户在完成订单时将您的From地址添加到他们的联系人,如果他们这样做,将会有很大帮助。

否则,我将尝试从您的一些用户那里获取日志。有时,他们会在邮件的标题中详细说明为什么它被标记为垃圾邮件,您可以使用它来调整文本。

你还可以试试其他方法:

  • 在主题中写上你的网站名称或地址
  • 保持邮件中的所有链接指向你的域名(而不是email.com)
  • 在邮件中写上地址或其他联系方式

使用电子邮件认证方法,如防晒系数DKIM,以证明您的电子邮件和您的域名属于一起,并防止欺骗您的域名。SPF网站包含一个向导,用于为您的网站生成DNS信息。

检查你的反向DNS,确保你的邮件服务器的IP地址指向你用来发送邮件的域名。

确保你使用的ip地址是不在黑名单上

确保回复地址是有效的现有地址。

在To字段中使用收件人的真实全名,而不仅仅是电子邮件地址(例如"John Smith" <john@blacksmiths-international.com>)。

监控你的滥用账户,比如abuse@yourdomain.examplepostmaster@yourdomain.example。这意味着-确保这些账户存在,阅读发送给他们的内容,并对投诉采取行动。

最后,让它真的易于取消订阅。否则,你的用户会通过按垃圾邮件按钮取消订阅,这将影响你的声誉。

也就是说,让Hotmail接受你的电子邮件仍然是一种魔法。

雅虎使用一种称为发件人ID的方法,可以在SPF设置向导中配置并输入到您的DNS中。另外,对于Exchange, Hotmail, AOL, Yahoo和其他公司来说,重要的一点是为你的域名提供反向DNS。这将解决大部分问题。但是,您永远无法阻止某人故意阻止您的或自定义规则。

在尽可能多的主要电子邮件提供商(gmail/yahoo/hotmail/aol/etc)上注册一个帐户。如果你改变了你的电子邮件,无论是重大的措辞,改变了发送电子邮件的代码,改变了你的电子邮件服务器,等等,一定要向你所有的账户发送测试邮件,并验证它们没有被标记为垃圾邮件。

在发送电子邮件之前,请确认您拥有正确的电子邮件地址。如果有人在注册时给出了错误的电子邮件地址,尽快敲打他们的头。

在每封邮件中都要包含明确的“如何退订”信息。不要求用户登录退订,它应该是一个唯一的url为1点击退订。

这将防止人们将您的邮件标记为垃圾邮件,因为“退订”太难了。

我发现,在邮件正文中使用收件人的真实姓名是通过垃圾邮件过滤器的可靠方法。

需要反向DNS表项。您不需要将相同的内容发送给同一用户两次。您需要使用一些常见的web邮箱和电子邮件客户端进行测试。 就我个人而言,我通过一个新安装的垃圾邮件杀手,一个训练有素的垃圾邮件杀手,和多个hotmail, gmail和aol帐户运行我的垃圾邮件

但是你有没有看到垃圾邮件似乎没有链接或广告什么?这是一个垃圾邮件发送者试图影响你的贝叶斯过滤器。如果他能得到一个很高的评价,然后在他未来的电子邮件中加入一些单词,这可能会自动学习。所以你不能真正猜测用户的过滤器会在你的邮件发送时被设置为什么。

最后,我没有按领域对列表进行排序,而是随机化了。

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

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

在过去的工作中,我在很多网站上都遇到过同样的问题。确保用户收到邮件的唯一保证方法是建议用户将你添加到安全列表中。其他任何方法都只能帮助解决这个问题,而且不能保证。

我的一个应用程序的电子邮件经常被标记为垃圾邮件。它是带有单个链接的HTML,我在正文中用text/ HTML内容类型将其作为HTML发送。

我对这个问题最成功的解决方法是编写电子邮件,让它看起来像是由电子邮件客户端生成的。

我将电子邮件更改为多部分/替代mime文档,现在我生成文本/纯文本和文本/html部分。

电子邮件不再被outlook检测为垃圾。

在英国,最好的做法是附上你公司的真实地址和注册号码。

这样,它是开放和诚实的,他们不太可能手动标记为垃圾邮件。

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

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

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

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

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

我还要补充说:

提供真正的取消订阅点击“取消订阅”。我见过真正的通讯提供一个虚拟的退订链接,点击显示“已成功退订”,但我仍然会收到进一步的通讯。

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

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

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

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

我不想告诉你,但我和其他人可能正在使用默认白名单来控制我们对垃圾邮件的过滤。

这意味着所有来自未知来源的电子邮件都自动成为垃圾邮件,并转移到垃圾邮件文件夹中。(我不让我的电子邮件服务删除垃圾邮件,因为我想总是检查到达的邮件是否有误报,这很容易做到,只需快速扫描文件夹。)

我甚至把自己的电子邮件放到垃圾邮件桶里,因为(1)我通常不给自己发电子邮件,(2)有垃圾邮件发送者在发给我的垃圾邮件中伪造我的回复地址。

因此,为了摆脱垃圾邮件的定义,我必须考虑您的邮件可能是合法的(从发件人和主题信息来看),并首先以明文形式打开它(我对所有传入邮件的默认设置,无论是否为垃圾邮件),以查看它是否合法。我的垃圾邮件文件夹不会使用电子邮件中的任何链接,这样我就可以免受棘手的图像链接和其他不当行为的影响。

如果我希望来自同一来源的未来邮件进入我的收件箱,而不是被转移到垃圾邮件审查,我将指定给我的电子邮件客户端。对于那些使用批量邮件转发器和每封邮件的唯一发件人地址的组织来说,这太糟糕了。它们从未得到我的批准,总是出现在我的垃圾邮件文件夹中,如果我很忙,我就永远不会看它们。

最后,如果电子邮件的明文格式不清晰,即使以HTML格式发送,我也可能直接删除它,除非根据来源和以前的宝贵经验,我知道它是我感兴趣的东西。

正如您所看到的,它最终是在用户的控制之下,没有自动的行为可以说服这样的系统,仅从其结构来看,您的邮件是合法的。在这种情况下,您需要表现良好,不要做任何类似于网络钓鱼的事情,并使愿意信任您的邮件的用户很容易将您添加到他们的白名单中。

以前的回答中的几个要点:

  • 最重要的:发件人地址(“From”)是否属于在您发送电子邮件的服务器上运行的域?如果不是,那就这样做。不要使用像xxx@gmail.com这样的发送地址。如果需要回复到达不同的地址,则使用reply-to

  • 您的服务器是否在黑名单上(例如在spamhaus.org上检查IP)?当你使用共享主机时,当邻居表现不佳时,就有可能出现这种情况。

  • 垃圾邮件过滤器过滤邮件吗?打开一个免费邮件帐户,它有一个垃圾邮件文件夹,并找出答案。另外,尝试将邮件发送到没有任何垃圾邮件过滤的地址。

  • 您是否可能需要mail()的第五个参数“-f”来添加发件人地址?(请参见PHP手册中的mail()命令)

  • 如果您可以访问日志文件,当然要检查这些文件。

  • 你检查“从:”地址可能的反弹邮件(“返回给发件人”)吗?您还可以设置一个单独的“errors-to”地址。

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

  • 确保你获得了收件人的许可。不要给没有要求你发邮件的人发邮件。

  • 在每封邮件的上方清楚地标明你是谁,以及对方为什么会收到这封邮件。

  • 至少每月一次,给你列表上的人发一封提醒邮件(如果你有列表的话),迫使他们重新选择回到列表中,这样才能继续收到你的信息。是的,这意味着你的邮件列表会随着时间的推移而变短,但好处是你列表上的人被“收买”了,不太可能标记你的邮件。

  • 保持你的内容高度相关和有用。

  • 给人们一个简单的方式来选择不再进行进一步的交流。

  • 使用像SendGrid这样努力保持良好IP声誉的电子邮件发送服务。

  • 避免使用短链接——这些链接经常被列入黑名单。

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

除了所有其他答案外,如果您发送的HTML电子邮件包含URL作为链接文本,请确保URL与链接文本匹配。我知道雷鸟会自动将他们标记为骗局。

错误的方式:

Go to your account now: <a href="http://www.paypal.com.phishers-anonymous.org/">http://www.paypal.com</a>

正确的做法:

Go to your account now: <a href="http://www.yourdomain.org/">http://www.yourdomain.org</a>

或者使用不相关的链接文本代替URL:

<a href="http://www.yourdomain.org/">Click here to go to your account</a>

很可能的情况是,注册你的服务的人输入的电子邮件中有打字错误,你没有纠正。例如:chris@gmial.com -或- james@hotnail.com

这样的域名被配置为spamtraps,这将自动标记您的电子邮件服务器的IP和/或域名,并损害其声誉。

为了避免这种情况,请仔细检查产品订阅时输入的电子邮件地址。此外,在向他们发送产品密钥或接受他们的订阅之前,发送确认电子邮件,以真正确保输入确认电子邮件的人100%验证此电子邮件地址。验证电子邮件应该要求收件人点击链接或回复,以真正确认邮箱的所有者是注册的人。

我总是用: https://www.mail-tester.com/ < / p >

它能给我关于发送电子邮件的技术方面的反馈。比如spf记录,DKIM, Spamassassin分数等等。即使我知道需要做什么,我还是不断地犯错误,mail-testster.com让我很容易找出哪里出了问题。

谷歌有一个工具和指导方针。你可以在https://postmaster.google.com/上找到它们:注册并验证你的域名,谷歌提供了该ip地址和域名的个人评分。

大宗寄件人指引:

身份验证可确保您的消息能够正确分类。缺乏身份验证的电子邮件很可能会被拒绝或被放入垃圾邮件文件夹,因为它们很有可能是用于网络钓鱼诈骗的伪造邮件。此外,出于安全原因,未经验证的带有附件的电子邮件可能会被直接拒绝。

为了确保Gmail能够识别您:

  • 使用一致的IP地址发送大量邮件。
  • 保留有效的反向DNS记录,用于发送指向您的域的邮件的IP地址。
  • 在你发送的每一封大宗邮件的“发件人:”标题中使用相同的地址。 我们还建议:

  • 与DKIM签署消息。我们不验证使用少于1024位的密钥签名的消息。

  • 发布SPF记录。
  • 发布一个DMARC策略。

为了允许使用sendmail时通过DMARC SPF检查,并且也是对齐,请确保您将信封发件人地址(-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检查。

首先,您需要确保所需的电子邮件身份验证机制(如SPF和DKIM)到位。这两个是证明你是电子邮件的实际发件人,而不是真的被欺骗的重要方法。这降低了电子邮件被过滤为垃圾邮件的机会。

第二件事是,您可以根据不同的DNSBLs检查您的域名的反向DNS输出。在终端上使用以下简单命令:

  **dig a +short (domain-name).(blacklist-domain-name)**


ie.  dig a +short example.com.dsn.rfc-clueless.org
> 127.0.0.2

在上面的例子中,这意味着您的域名“example.com”被列入黑名单,但由于域设置合规(rfc-clueless.org列表域有合规问题)

注:我更喜欢multivalleypepipost工具用于检查域列表。

从地址/回复到id应该是正确的,总是使用可见的退订按钮在你的电子邮件正文(这将帮助你的用户从你的电子邮件列表退出,而不损害你的域名声誉)

大多数程序生成的电子邮件的意图通常是事务性的,触发或警报性质-这意味着这些重要的电子邮件永远不应该成为垃圾邮件。

话虽如此,在将电子邮件标记为垃圾邮件之前,有多个参数需要考虑。虽然电子邮件列表的质量是需要考虑的最重要的参数,但我在这里跳过了讨论,因为这里我们讨论的是发送给我们自己或已知电子邮件地址的重要电子邮件。

除了列表质量,其他3个重要参数是;

  1. 发送者的声誉
  2. 符合电子邮件标准和认证(SPF, DKIM, DMARC, rDNS)
  3. 邮件内容

发件人信誉度=发送IP地址信誉度+返回路径/信封域信誉度+来自域信誉度。

关于你的发件人信誉是什么,没有直接的答案。这是因为有多个权威机构,如SenderScore、声誉权威机构等,他们为您的域维护声誉评分。除了像Gmail、雅虎、Outlook这样的互联网服务提供商,Outlook还在他们的终端维护着每个域名的声誉。

但是,你可以使用像GradeMyEmail这样的免费工具来360度地查看你的声誉和你的电子邮件设置或任何其他与合规相关的问题的潜在问题。

有时候,如果你用一个新域名来发送电子邮件,那么这些域名也会被发现是垃圾邮件。你应该检查你的域名是否在全球屏蔽列表中。GradeMyEmail和MultiRBL是识别区块列表的有用工具。

一旦你非常确定发件人信誉评分,你应该检查你的电子邮件发送域是否符合所有电子邮件认证和标准。

  1. 防晒系数
  2. DKIM
  3. DMARC
  4. 反向DNS

为此,您可以再次使用GradeMyEmail或MXToolbox来了解身份验证的潜在问题。

您的SPF, DKIM和DMARC应始终通过,以确保您的电子邮件符合标准的电子邮件认证。 下面是Gmail中这些身份验证的示例: Email Authentication < / p >

同样,你可以使用像Mail-Tester这样的工具,它可以扫描完整的电子邮件内容,并告诉可能触发垃圾邮件过滤器的潜在关键字。