2017-04-04 56 views
0

给出一个电子邮件地址,如“[email protected]”,我试图确定他们所使用的电子邮件服务器的信息,如下信息:检索电子邮件服务器信息,形成一个电子邮件地址

  • 端口
  • 使用TLS

目前,我的电子邮件地址分成两个部分(例如用户和example.com),然后才能做的域中的MX查找,以试图确定邮件域使用:

dns.resolveMx(hostname, callback) 

然而,几台主机似乎使用其他服务器相比(例如,Justhost的鼓励他们来自example.com的所有域justXX.justhost.com为他们提供TLS)和达到这些被证明是棘手的。

只要端口没有问题,只要他们使用默认端口,否则就我所见,这是不可能的,只要我有域名和端口以便联系服务器。

因为所有这些方法在最好的时候似乎都不可靠,是否有更好的方法来确定这些信息?这与制作邮件客户端有关,该客户端尝试登录到邮件服务器以检索电子邮件,并使用SMTP协议从该服务器发送电子邮件。

回答

0

您唯一可以信赖的信息是DNS中可用的信息。这是为给定地址发送邮件所需的全部信息。

如果你想收到电子邮件,那么这是一个完全不同的故事。你没有提到你需要哪个邮件服务器。获取传入电子邮件的服务器?让用户发送电子邮件的服务器?让用户下载他们的电子邮件的服务器?我假设您希望可以为该域发送电子邮件的服务器可以作为DNS中的MX提供。

你没有提到为什么你需要这些信息,但如果你想要它,所以你可以发送这些域名的电子邮件,那么你可以使用像Mailgun,Mandrill或亚马逊SES交易电子邮件服务,因为它将处理所有这些细节适合你。但是您没有说明获取该信息的目的是什么,所以我不知道这是否会对您有所帮助,我将其添加以防万一。

+0

道歉,我的问题确实含糊不清。我现在要编辑它,但是tl; dr是我试图制作邮件客户端并尝试从输入的电子邮件地址中自动检索域/端口信息。根据我在网上阅读的内容,我不认为这个问题有一个很好的答案,我必须强制用户输入自己的信息,除非它来自一个受欢迎的电子邮件提供商的硬编码列表。 –

相关问题