453

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

最近,我以编程方式发送的一些电子邮件已经开始自动进入人们的垃圾邮件文件夹,我想知道我能做些什么。

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

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

4

24 回答 24

348

使用电子邮件认证方法,例如SPFDKIM来证明您的电子邮件和您的域名属于同一个,并防止您的域名被欺骗。SPF 网站包含一个为您的站点生成 DNS 信息的向导。

检查您的反向 DNS以确保您的邮件服务器的 IP 地址指向您用于发送邮件的域名。

确保您使用的 IP 地址不在黑名单上

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

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

监控您的滥用帐户,例如 abuse@yourdomain.com 和 postmaster@yourdomain.com。这意味着 - 确保这些帐户存在,阅读发送给他们的内容,并对投诉采取行动。

最后,让退订变得非常容易。否则,您的用户将通过按垃圾邮件按钮取消订阅,这将影响您的声誉。

也就是说,让 Hotmail 接受您的电子邮件仍然是一门黑艺术。

于 2008-08-02T10:21:54.300 回答
30

在尽可能多的主要电子邮件提供商上注册一个帐户(gmail/yahoo/hotmail/aol/等)。如果您对电子邮件进行更改,无论是重大改写、更改发送电子邮件的代码、更改您的电子邮件服务器等,请确保将测试邮件发送到您的所有帐户并确认它们没有被标记为垃圾邮件。

于 2008-08-02T23:00:53.237 回答
26

上一个答案的几个要点:

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

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

  • 邮件是否被垃圾邮件过滤器过滤?使用具有垃圾邮件文件夹的免费邮件程序打开一个帐户并找出答案。此外,请尝试将邮件发送到完全不过滤垃圾邮件的地址。

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

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

  • 您是否检查“发件人:”地址是否有可能的退回邮件(“退回给发件人”)?您还可以设置一个单独的“出错地址”。
于 2010-04-05T16:37:33.087 回答
25

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

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

您可以尝试的其他事情:

  • 将您的网站名称或地址放在主题中
  • 将邮件中的所有链接都指向您的域(而不是 email.com)
  • 在电子邮件中输入地址或其他联系信息
于 2008-08-02T08:32:04.287 回答
24

在发送电子邮件之前,请确认您拥有正确的电子邮件地址。如果有人在注册时提供了错误的电子邮件地址,请尽快击败他们。

始终在每封电子邮件中包含明确的“如何退订”信息。不要求用户登录退订,它应该是一键退订的唯一网址。

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

于 2008-08-03T01:39:56.117 回答
17

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

错误的方法:

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>
于 2012-10-03T19:21:46.057 回答
16

您可以考虑处理交付问题的第三方电子邮件服务:

  • 确切目标
  • 垂直响应
  • 持续接触
  • 活动监视器
  • 艾玛
  • 返回路径
  • 智能联系
  • 银色流行音乐
于 2008-08-06T15:12:16.537 回答
16

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

我发现仔细跟踪 NDR 非常有帮助。我将所有 NDR 定向到一个地址,并且我有一个 Windows 服务将它们解析出来(Google ListNanny)。我将尽可能多的来自 NDR 的信息放入数据库,然后运行报告以查看我是否突然开始被某个域阻止。此外,您应该避免向以前标记为 NDR 的地址发送电子邮件,因为这通常是垃圾邮件的良好指示。

如果您需要一次发送一堆客户服务电子邮件,最好在每封电子邮件之间设置一个延迟,因为如果您一次向一个域发送太多几乎相同的电子邮件,您肯定会收到他们的邮件。黑名单。

有些域有时无法交付。Comcast.net 是最糟糕的。

确保您的 IP 未在http://www.mxtoolbox.com/blacklists.aspx等网站上列出。

于 2008-08-13T13:44:47.530 回答
15

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

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

我什至有来自自己的电子邮件进入垃圾邮件桶,因为(1)我通常不向自己发送电子邮件,并且(2)有垃圾邮件发送者在发送给我的垃圾邮件中伪造我的回信地址。

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

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

最后,如果一封电子邮件在纯文本中无法辨认,即使以 HTML 格式发送,我也很可能会删除它,除非我知道它是由于来源和以前的宝贵经验而对我感兴趣的东西。

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

于 2008-11-08T18:24:04.223 回答
14

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

于 2008-08-02T13:45:57.197 回答
14

我的应用程序的一封电子邮件经常被标记为垃圾邮件。它是带有单个链接的 html,我在正文中以文本/html 内容类型的 html 形式发送。

我对这个问题最成功的解决方案是撰写电子邮件,使其看起来像是由电子邮件客户端生成的。

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

Outlook 不再将电子邮件检测为垃圾邮件。

于 2008-08-11T00:59:26.203 回答
12

您需要一个反向 DNS 条目。您不需要将相同的内容发送给同一用户两次。您需要使用一些常见的 webmail 和电子邮件客户端对其进行测试。就我个人而言,我通过一个新安装的垃圾邮件刺客、一个训练有素的垃圾邮件刺客以及多个 hotmail、gmail 和 aol 帐户来运行我的。

但是您是否看到过似乎没有链接到或宣传任何内容的垃圾邮件?这是一个试图影响您的贝叶斯过滤器的垃圾邮件发送者。如果他能获得高评价,然后在他未来的电子邮件中包含一些单词,那么它可能会自动学习为好。因此,您无法真正猜测在您发送邮件时用户的过滤器将被设置为什么。

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

于 2008-08-06T01:54:22.433 回答
11

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

于 2008-08-03T13:57:01.633 回答
8

在英国,最好的做法也是为您的公司提供真实的实际地址及其注册号码。

这样一来,一切都是公开和诚实的,他们不太可能手动将其标记为垃圾邮件。

于 2008-08-13T13:13:47.623 回答
8

我要补充:

单击“退订”后提供真正的退订。我见过真正的时事通讯提供了一个虚拟退订链接,点击显示“已成功退订”,但我仍会收到更多时事通讯。

于 2008-08-31T12:50:48.400 回答
8

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

  • 确保您已获得要向其发送电子邮件的人的许可。永远不要向没有向您请求的人发送电子邮件。

  • 在每条消息的顶部清楚地确定您是谁,以及该人收到电子邮件的原因。

  • 至少每月一次,向您列表中的人发送一封提醒电子邮件(如果您正在运行列表),迫使他们选择重新加入列表,以便继续接收您的通信。是的,这意味着你的名单会随着时间的推移而变短,但好处是你名单上的人被“收买”了,不太可能标记你的电子邮件。

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

  • 为人们提供一种简单的方式来选择退出进一步的通信。

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

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

遵循这些经验法则会有很长的路要走。

于 2012-05-18T19:04:26.110 回答
7

过去,我在工作中在这里做过的许多网站上都遇到过同样的问题。确保用户收到电子邮件的唯一有保证的方法是建议用户将您添加到安全列表中。任何其他方法实际上只是可以帮助它并且不能保证的东西。

于 2008-08-06T19:31:01.397 回答
7

很可能是注册您的服务的人在输入电子邮件时输入了您未更正的输入错误。例如:chris@gmial.com -或- james@hotnail.com

并且此类域被配置为用作垃圾邮件陷阱,它将自动标记您的电子邮件服务器的 IP 和/或域并损害其声誉。

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

于 2017-01-28T22:51:01.410 回答
5

听起来您正在根据一些反馈来确定接收端卡住了什么。您应该自己检查出站邮件是否存在明显的“垃圾邮件”。

购买任何像样的垃圾邮件控制系统,并通过它发送出站邮件。如果您发送大量邮件,则无论如何都应该这样做,因为存在发送出站病毒的风险,特别是如果您有桌面 Windows 用户。

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

此外,还有一些公司可以帮助您提高非垃圾邮件、出站电子邮件的发送率,例如人身保护令。

于 2008-10-28T13:28:51.067 回答
4

谷歌为此提供了工具和指南。您可以在以下网址找到它们: https ://postmaster.google.com/注册并验证您的域名,Google 会提供该 IP 地址和域的单独评分。

批量发件人指南

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

为确保 Gmail 可以识别您的身份:

  • 使用一致的 IP 地址发送批量邮件。
  • 为您发送邮件的 IP 地址保留有效的反向 DNS 记录,并指向您的域。
  • 在您发送的每封批量邮件的“发件人:”标题中使用相同的地址。我们还推荐以下内容:

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

  • 发布 SPF 记录。
  • 发布 DMARC 政策。
于 2018-01-03T11:16:07.153 回答
3

我总是使用: https ://www.mail-tester.com/

它给了我关于发送电子邮件的技术部分的反馈。像 SPF-records、DKIM、Spamassassin score 等等。即使我知道需要什么,我还是会不断出错,mail-tester.com 可以很容易地找出可能出错的地方。

于 2017-06-27T08:19:19.687 回答
2

首先,您需要确保所需的电子邮件身份验证机制(如 SPF 和 DKIM)到位。这两种是证明您是电子邮件的实际发件人并且不是真正的欺骗的突出方式。这减少了电子邮件被过滤为垃圾邮件的机会。

第二件事是,您可以根据不同的 DNSBL 检查您的域名的反向 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 工具来检查域列表。

from address/reply-to-id 应该是正确的,始终在您的电子邮件正文中使用可见的取消订阅按钮(这将帮助您的用户从您的电子邮件列表中退出而不会破坏您的域声誉)

于 2020-06-15T14:01:21.883 回答
2

大多数以编程方式生成的电子邮件的目的通常是事务性的、触发性的或警报性质的——这意味着这些是重要的电子邮件,不应成为垃圾邮件。

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

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

  1. 发件人信誉
  2. 符合电子邮件标准和身份验证(SPF、DKIM、DMARC、rDNS)
  3. 电子邮件内容

发件人信誉 = 发送 IP 地址的信誉 + 返回路径/信封域的信誉 + 从域的信誉。

您的发件人信誉没有直接的答案。这是因为有多个权威机构,如 SenderScore、声誉权威机构等,他们维护您的域的声誉评分。除了 Gmail、Yahoo、Outlook 等 ISP 之外,它们还维护每个域的声誉。

但是,您可以使用GradeMyEmail等免费工具来 360 度全方位了解您的声誉以及电子邮件设置的潜在问题或任何其他与合规相关的问题。

有时,如果您使用新域来发送电子邮件,那么也会发现这些域进入垃圾邮件。您应该检查您的域是否列在任何全局阻止列表中。同样,GradeMyEmail 和 MultiRBL 是识别黑名单列表的有用工具。

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

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

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

您的 SPF、DKIM 和 DMARC 应始终通过,以确保您的电子邮件符合标准电子邮件身份验证。以下是这些身份验证在 Gmail 中的外观示例: 电子邮件认证

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

于 2020-11-19T14:44:40.003 回答
1

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

使用 PHP:

使用 PHP 的内置mail()函数而不设置第 5 个参数将导致 DMARC SPF 检查如果未正确完成则未对齐。默认情况下,sendmail 将使用网络服务器的用户作为RFC5321 .MailFrom / Return Path 标头发送电子邮件。

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

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 检查将因未对齐而失败。

相反,您必须通过在 PHPmail()函数中包含第 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 检查。

于 2019-08-19T21:46:54.143 回答