邮箱验证的底层逻辑

wechat
Facebook
chrome-icon
g2crowd
youtube
LinkedIn
youtube
https://www.arounddeal.cn/images/hw/mk/bm/1_1917ec1290.png

当邮件营销人员提到邮箱验证(email validation)、邮箱地址检查(email address check)或邮箱核实(email verification)时,他们实际上是指什么?

这个问题的答案就像可能存在的混乱一样令人困惑:一个营销人员的验证来自另一个营销人员的验证。更糟糕的是,最近,验证提供商开始将其命名从verification更改为validation。但这并非全是坏消息。开发人员和质量保证人员(QA)在validation和erification方法下也指的是不同的内容。

首先,让我们澄清这个术语混淆,然后看看如何在不实际发送邮件的情况下验证并且核实邮箱。

邮箱验证 VS 邮箱核实

虽然邮箱验证(email validation) 可能是邮箱核实(email verification) 过程的一部分,但它们并不相同。注意不要将它们混淆,也不要互换使用。

邮箱验证(email validation) 是一个帮助确定邮箱是否有拼写错误的过程。基本上,邮箱验证旨在检测和防止邮箱语法中的拼写错误以及以任何形式输入的无效邮箱。邮箱验证主要在前端完成(但并非总是)。

邮箱验证用于:

  • 防止用户在输入时出现拼写错误;

  • 将注册程序限制为特定用户组(例如,您无法使用个人邮箱域注册剑桥大学图书馆,为此需要您的“edu”域帐户);

  • 减少发送到服务器的请求数量并降低服务器负载(对于大型企业尤其重要)。

邮箱核实(email verification) 是一个帮助核实邮箱接收端是否有实际用户的过程。邮箱验证通常是邮箱核实的一部分,但邮箱核实是一个更复杂的过程,涉及前端和后端。要正确验证邮箱,向该邮箱发送激活链接/代码。然后最终用户应该从他们的收件箱中激活它:我们在这里谈论邮箱核实。

邮箱核实用于:

  • 防止硬退;

  • 保护发件人的信誉度;

  • 使邮箱发送列表数据保持最新;

  • 防止域名被列入黑名单;

  • 提高安全性并防止用户恶意输入数据;

  • 削减邮件营销成本(避免将钱浪费在无用的非活跃或伪造的邮箱和列表上)

对每个人(营销人员、项目和开发人员)来说,这一点是有益的:仅在邮箱语法的上下文中参考邮箱验证,而邮箱核实应该意味着从邮箱验证到核实的整个验证过程,通过 SMTP 核实、域核实或 DOI(双重选择加入)检查。

话虽如此,让我们看看如何在不发送邮件的情况下如何运行邮箱验证或邮箱核实。

为什么需要核实邮箱?

问题是,许多硬退会损害发件人的信誉度。信誉度不佳反过来又会降低邮件可交付性。如果经常向无效地址发送邮件,你的邮件将经常进入垃圾邮件文件夹。

邮件营销活动的效果取决于目标邮箱列表的数据准确性。

何时需要核实邮箱地址?

邮箱核实不是经常性活动。在以下情况下,建议查看邮箱列表:

  • 已添加新收件人

  • 距离上次验证已经有一段时间了(一个多月)

  • 跳出率接近或超过 2%

  • 打开率较低

实现正确邮箱验证的清单

正确的邮箱核实包括以下内容:

  • 语法验证

  • 检查一次性邮箱

  • 检查是否有明显的拼写错误

  • 查找域名解析

  • PING邮箱

让我们选择一个常规的邮箱: 例如@``arounddeal.com. 它由本地 (example) 和域(arounddeal.com) 组成.

本地部分可以包含:

  • 字母数字字符 – to(大写和小写)和 toAZ09

  • 可打印字符 –!#$%&'*+-/=?^_`{|}~

  • 一个点(局部部分不能以点开头和结尾,也不能像点一样连续使用点)。.example..first@``arounddeal.com

域部分可以包含字母数字字符(大写和小写)。如果连字符不是第一个或最后一个字符,它也可以包含连字符。连字符不能连续使用。

这些验证规则可以在正则表达式或 RegEx 中实现,以验证邮箱语法。但是,不要将验证限制为仅正则表达式规则,还应该考虑 IETF 标准、特定于 ISP 的语法检查、带引号的单词、域文字、非 ASCII 域等。

检查一次性邮箱地址

一次性邮箱是一个有效期为一段时间的临时地址。应该清理邮箱中由Nada,Mailinator和类似服务生成的任何一次性电子邮箱。可以使用第三方API,例如InboxHit。这些可以可靠地检测一次性电子邮箱。此外,可以搜索用于临时邮箱地址的域列表,并在正则表达式中使用它们。

域名解析查找

DNS 查找是从 DNS 服务器请求 DNS 记录的过程。在案例中,我们重点关注了 MX 记录。它是一个 DNS 条目,用于指定用于接受域名邮箱的邮箱服务器。下面是 arounddeal.com 的 DNS 查找示例:

  • 打开控制台应用并运行以下命令:
    nslookup –type=mx arounddeal.com
  • 您将看到域“”及其优先级值的大量 MX 记录:arounddeal.com
arounddeal.com MX preference = 5, mail exchanger = alt2.aspmx.l.google.com 
arounddeal.com MX preference = 1, mail exchanger = aspmx.l.google.com 
arounddeal.com MX preference = 10, mail exchanger = aspmx2.googlemail.com 
arounddeal.com MX preference = 10, mail exchanger = aspmx3.googlemail.com 
arounddeal.com MX preference = 5, mail exchanger = alt1.aspmx.l.google.com
  • 选择优先级最高的邮箱服务器。首选项值越小,优先级越高。 在我们的例子中,这是“”,需要此输入才能执行清单的下一步。aspmx.l.google.com

PING邮箱

DNS 查找后,您可以通过 SMTP 连接验证邮箱地址。您需要连接到所选的SMTP服务器并检查邮箱是否存在。如果服务器回复 (250 OK),则邮箱地址有效。如果客户端收到否定响应 ([550-5.1.1 User Unknown](https://mailtrap.io/blog/550-5-1-1-rejected-fix/)),地址不存在。对于以下操作,你将需要一个控制台应用Telnet

  • 连接到标准 SMTP 端口上的电子邮件服务器:
telnet aspmx.l.google.com 25

以下是建立 SMTP 握手的响应:

220 mx.google.com ESMTP z23si732378lfb.34 - gsmtp
  • 开始 SMTP 对话
EHLO arounddeal.com

以下是响应:

250-mx.google.com at your service, [31.42.66.68]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
  • 现在,使用以下命令指定发件人电子邮件地址:MAIL FROM:
mail from:<sender@example.io>

响应:

250 2.1.0 OK z23si732378lfb.34 - gsmtp
  • 最终,进行邮箱验证。使用以下命令输入收件人邮箱:RCPT TO:
rcpt to:<new-recipient@arounddeal.com>

由于收件人是假的,我们得到了代码响应:550-5.1.1

550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1  https://support.google.com/mail/?p=NoSuchUser z23si732378lfb.34 - gsmtp

另一方面,如果得到 ,这将表明邮箱是有效的。250 OK

  • 之后,可以使用命令关闭对话。QUIT

以下是验证无效收件人的整个 SMTP 的会话:

C: ehlo arounddeal.com
S: 250-mx.google.com at your service, [31.42.66.68]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
C: mail from:<sender@example.com>
S: 250 2.1.0 OK q25si5330153lfb.56 - gsmtp
C: rcpt to:<new-recipient@arounddeal.com>
S: 550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550.1.1 unnecessary spaces. Learn more at
550 5.1.1  https://support.google.com/mail/?p=NoSuchUser q25si5330153lfb.56 - gsmtp
C: quit
S: 221 2.0.0 closing connection q25si5330153lfb.56 - gsmtp 

以下是有效邮箱的会话:

C: ehlo arounddeal.com
S: 250-mx.google.com at your service, [31.42.66.68]
250-SIZE 157286400
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8                                                                                                           C: mail from:<sender@example.io>
S: 250 2.1.0 OK q14si6283798lji.50 - gsmtp
C: rcpt to:<support@arounddeal.com>
S: 250 2.1.5 OK q14si6283798lji.50 - gsmtp
C: quit
S: 221 2.0.0 closing connection q14si6283798lji.50 - gsmtp

使用 VRFY 和 EXPN 命令?

该命令用于验证本地主机上是否存在参数中的邮箱。例如:VRFY

C: VRFY recipient
S: 250 The Recipient recipient@example.io

该命令用于验证本地主机上是否存在参数中的邮箱列表。例如:EXPN

C: EXPN mail-list
S: 250-recipient1@example.io
250-recipient2@example.io
250-recipient3@example.io 

这两个命令都实现 SMTP 身份验证。但是,被认为是安全风险——垃圾邮件发送者可以使用它们从服务器窃取有效的电子邮件地址。因此,出于安全目的,大多数服务器禁用这些命令。

如何使用邮箱核实功能批量验证

即使只有一个邮箱,浏览清单需要很长时间来验证。但是,不必一直进行手动验证,因为有许多现成的解决方案可用。在线邮箱核实服务提供了一个多合一的工具来完成上述清单的每个步骤。但是市场上有这么多邮件检查器——那么,哪一个值得使用?我们使用谷歌查询,并找到了 2022 年的数十种选择。ZeroBounce, Xverify, and Email List 仅举几例。我们分析了来自网络的用户反馈,并根据以下标准选择了前十名:

  • 域/MX 记录检查

  • 单个邮箱核实

  • 批量邮箱验证

  • 技术语法检查

  • 邮箱服务器验证

  • 验证接口

  • 一次性邮箱检测

  • GDPR 合规性

以下是获奖者名单:

  1. ZeroBounce

  2. MyEmailVerifier

  3. GetProspect Email Verifier

  4. MillionVerifier

  5. QuickEmailVerification

  6. Bouncer

  7. Xverify LLC

  8. Clearout

  9. Email Checker

  10. DeBounce

在线邮箱验证器——哪个是最佳选择?

使用自动化解决方案验证电子邮件地址绝对是首选。验证过程快速且用户友好。此外,这无疑是批量电子邮件验证的最佳方法。一流的电子邮件验证器不是免费的。您在套餐中支付并获得一组技术,例如:

  • 语法验证

  • 电子邮件地址重复数据删除

  • 垃圾邮件陷阱识别和删除

  • 弹跳检测

  • 有毒结构域鉴定

  • MTA验证

免费服务不太可能提供超过其中两个功能。这就是应该小心选择电子邮箱验证器的原因。此外,当不得不与第三方服务共享用户个人数据时,就像总是走在薄冰上。不能百分之百确定可靠的服务没有安全问题。这就是为什么应该始终检查所选择的电子邮件验证器是否符合GDPR的原因。

总结

邮箱验证(email validation) 旨在进行电子邮件语法检查,而邮箱核实(email verification) 是一种更复杂的方法,涉及确定邮箱是否存在或处于活动状态的过程。邮箱验证始终是邮箱核实的一部分,因为邮箱输入是验证旅程开始的地方。

此外,当有人要求“检查”邮箱信息时,请确保要求对方指定是要“验证”还是“核实”邮箱。

邮箱核实可摆脱邮件列表中的虚假或无效收件人,从而提高邮件发送效果。无需发送邮件即可验证电子邮件地址是否真实、有效且响应迅速。您可以选择使用 Email Verifier。

点击官网右上方“预约演示”,对已有的联系人邮箱进行批量清洗与验证,减少不必要的成本浪费,大幅提升营销效率!

  • 邮箱验证

推荐阅读