如何捕获子域名上的电子邮件

如何捕获子域名上的电子邮件

我正在创建一个使用子域名作为其名称的一部分的网站,例如 非常酷的例子(显然不是实际网站)并且[电子邮件保护]作为支持/联系电子邮件地址。

网站托管在 Linode 上,我使用 Linode 来管理 DNS。邮件服务器位于其他一些 cPanel 提供商上。

  • 我有子域名的“A 记录”真的指向我的 Linode 的 IP 地址,并且可以访问非常酷的网站通过浏览器。
  • 我有一条 MX 记录酷网站(无子域名)指向带有 cPanel 的服务器,并可以发送和接收电子邮件[电子邮件保护]

因此,上述操作有效。

我现在想要的是捕获发送到我域名上的错误地址的电子邮件。我在 cPanel 上设置了“默认电子邮件”以转发到[电子邮件保护],这适用于以下电子邮件[电子邮件保护]

我需要帮助的是捕捉电子邮件说[电子邮件保护]这是用户可能会犯的一个可以理解的错误。

如果我发送电子邮件至[电子邮件保护],我会收到退回邮件。但是,如果我发送[电子邮件保护]它只是消失在以太中,大概是因为子域真的有 A 记录。

问题是我该如何抓住它?

我最终想将所有这些域名重定向到非常酷的例子

  • 酷.例子(即空白/裸露)
  • www.cool.example
  • www.really.cool.example

因为这些是用户可能会意外输入但尚未输入的内容(我相信有几种方法可以做到这一点?)

我想知道的是:

  1. 我如何接收电子邮件[电子邮件保护]
  2. 我计划实施的重定向会对电子邮件地址产生什么影响(它会破坏我已经拥有的地址,甚至解析电子邮件通配符吗?)

(我通常会尝试自己找出问题所在,但对于 DNS 来说,不知道它们是否错误或者根本没有传播是令人难以忍受的,特别是如果我要尝试多种排列)。

编辑:为了澄清:

  1. 我希望捕获的所有电子邮件最终都发送到同一个地址[电子邮件保护](它已经能捕获大多数错误的电子邮件)但我不明白这有什么重要,因为我肯定能在另一个电子邮件地址上捕获它,例如[电子邮件保护]那么我就可以转发它们。
  2. 我不知道我想在流程的哪个阶段捕获它们,只要我能捕获它们就行,如果我的目标不能仅通过 DNS 设置来实现,我愿意接受涉及中间电子邮件地址的建议,或者在子域服务器上执行某些操作。

答案1

简单:为每个子域名设置 MX 记录,real.cool.website并为每个子域名设置一个 A/AAAA 或 CNAME 记录,以指向 cPanel 服务器(并确保它能处理该邮件)

对于您想要捕获的所有其他内容(例如拼写错误),您可以添加一个通配符 MX 条目,该条目也指向该 cPanel 服务器(再次确保它确实可以处理这个问题)。

您需要为具有 DNS 记录的每个名称添加明确的 MX 记录,因为如果您有任何其他记录,MX 通配符将不匹配(请参阅此问答

当然,所有这些都假设您希望您的主邮件服务器能够实际处理所有邮件。

尽管如此:恕我直言,您应该只接受您想要的真实域的邮件 - 让拼写错误和其他无效的地址反弹,以便用户意识到他们的错误。

另请注意:任何关于你的 cPanel 邮件服务器的问题(例如如何让它处理子域名)是无关不受欢迎。

答案2

我正在回答自己的问题(但接受斯文的回答),因为这里面还有更多内容,理解它可能会帮助其他人。

给定一个域酷.例子使用子域名的 A 记录非常酷的例子以及 MX 记录酷.例子会发生这样的事情:

但实际情况是,发送给[电子邮件保护]最终会导致出现“投递失败”的消息,但只有经过几天的尝试后才会出现,在测试时,可能会给人一种最终无果而终的印象。

这是因为子域名idontexist.cool.示例根本找不到,所以会立即反弹,而非常酷的例子被找到(因为 A 记录)但无法处理邮件(因为没有 MX 记录)因此邮件服务会继续尝试几天。

正如@Sven 和@Michael Hampton 指出的那样,解决方案是为您想要捕获邮件的任何子域创建一个 MX 记录(请注意,如果您有任何其他记录,MX 通配符就不会匹配,如果您的网站完全位于子域上,则很可能会出现这种情况,因此您需要创建明确的 MX 记录)。

@Sven 还说:

您应该只接受您想要的真实域名的邮件 - 让拼写错误和无效的地址反弹,以便用户意识到他们的错误。

我同意这一点,但问题是用户需要等待多长时间才能被告知他们犯了错误 - 如果向有 A/CNAME 记录但没有 MX 记录的子域发送电子邮件,则可能需要几天时间,这可能是不可接受的。

为了解决这个问题你可以:

  1. 为子域名创建一个 NULL MX 记录(首选项为 0 并指向“。”),这将导致立即退回,但并非所有 DNS 提供商或他们的接口*都允许您这样做。
  2. 创建一个指向配置为发送自动回复的邮件服务器的 MX 记录,这样用户就不会等待几天。

*例如,在撰写本文时,Linode 的 Web 界面不允许这样做,但似乎可以通过 Linode 的 CLI 工具实现这一点。

相关内容