使用 amazon ses 查找电子邮件提供商

问题描述

关于 this question,我使用准系统方法查找特定用户邮件提供商,因为我使用 Amazon SES 发送邮件,但是,我对它也很陌生,我想知道 Amazon SES 是否提供了这样做的方法Amazon SES 是否提供了一种方法(api/service 等)来查找我要向其发送电子邮件用户邮件提供商?

解决方法

你的问题对于你试图用这些数据实现什么结果有点含糊。

我不确定您是否熟悉 Internet 上邮件传递的工作方式。如果这对您来说不是新闻,我深表歉意。在基本层面上,电子邮件只是从一台机器传送到另一台机器(SMTP 服务器到 SMTP 服务器),直到它找到最终您的邮箱所在的“服务器”。 (在现代,这是一个相对粗略的过度简化,但仍然正确)。

第一步是将邮件发送到 SMTP 服务器,并附有递送邮件的说明,通常带有目标电子邮件地址。现在,如果您使用 AWS SES API,还有一个额外的步骤,在它到达初始 SMTP 服务器之前,您首先使用 SES API,然后将消息传送到 Amazon 的 SMTP 服务器。

现在,第一个 SMTP 服务器需要知道将其发送到何处。这通常通过在目标域上执行 DNS 查询并查找 MX 记录来完成。 (有关 MX 记录 here 的更多信息)。 MX 记录将包含一个条目(或条目列表),它告诉其他 SMTP 服务器如何联系该域的 SMTP 服务器。这可能是您的问题所在 - 以某种方式确定正在使用哪个“提供者”。在当前,像 Office 365 或类似的大型托管服务提供商为域运行该服务是很常见的。这通常被编入客户的 MX 记录中,这是他们使用 O365 或其他任何东西的“赠品”。然而,许多域运行它们的“自己的”服务器,并且没有技术原因阻止这种情况。 (小谎言:从一开始就存在垃圾邮件,发送 SMTP 服务器的“声誉”在阻止垃圾邮件方面非常重要,或者至少在某个时间点如此。这是 AWS 如此重要的原因之一挑剔你不发送未经请求的电子邮件 - 这会影响他们发送电子邮件的 SES SMTP 服务器的声誉,他们需要它是“好”的,这样他们就不会在亚马逊级别的阻止列表中结束)

这是下一个复杂问题,这可能是为什么即使执行了初始查找,数据也不能保证为您提供所需的内容。由于 SMTP 服务本质上是逐跳的,因此没有什么可以阻止 DNS 域中的 MX 记录仅仅作为另一组 SMTP 服务器的代理。请记住,SMTP 是 Internet 上最古老的协议之一,它的简单性使其在我们今天拥有的所有基础设施之前就可以发挥作用。 SMTP 服务器接收来自用户(或其他 SMTP 服务器)的命令,然后尽其所能将消息传递到更接近实际用户的位置。

我不确定您的最终功能是否会以某种方式修改基于目的地发送的消息,或者它可能根本不会发送。 AWS SES APIs (link) 不支持两者。 (顺便说一句,它必须在执行此操作的 AWS SES API 上,因为此功能根本不在 SMTP 的词汇表中)。您可以查看 AWS SES API 参考以了解它可以做什么以及它可以提供什么,但是如果您想要在基于提供商的交付之前修改消息,那么当前没有该功能。

链接:

https://en.wikipedia.org/wiki/MX_record

https://docs.aws.amazon.com/ses/latest/APIReference/Welcome.html

,

不,SES 不提供此类功能。