从电子邮件地址确定POP/IMAP服务器

5
有没有一种方法可以根据电子邮件地址确定POP或IMAP服务器?我正在为非技术用户构建应用程序,我不想打扰他们询问他们的IMAP / POP服务器。mail2web.com可以做到这一点,但我不确定如何操作。
5个回答

7

链接已经失效,并且没有包含在Wayback Machine中。这里是2010年的代码,是我快速搜索到的最新版本。这里是代码的链接。 - undefined

2

Thunderbird 3也可以做到这一点。我建议查看源代码。
但我认为这只是一个查找表。


1
这是在Thunderbird中完成它的源文件:http://mxr.mozilla.org/comm-central/source/mailnews/base/prefs/content/accountcreation/guessConfig.js - Midhat

1

标准中没有规定给定域的POP/IMAP服务器。只能使用约定或像Joril建议的查找表。SMTP服务器不同,因为有将邮件发送到下一站的功能要求。通过POP/IMAP接收是完全由本地域管理员处理的问题。抱歉。

我想你可以使用域名构建服务器名称,例如fred@mymail.com变成pop.mymail.com和imap.mymail.com。或者更进一步,查询MX记录并执行类似的替换。然后,您可以运行候选服务器列表,寻找POP/IMAP响应。但在安全方面可能有些危险。

干杯, 丹


0

Thunderbird 干得不错。它的方法在这里描述 https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration。以下是文档的摘录。

所有查找机制都以电子邮件地址域作为查找的基础。例如,对于电子邮件地址 fred@example.com,按照以下顺序执行查找:

  1. 硬盘上的 tb-install-dir/isp/example.com.xml
  2. 检查 autoconfig.example.com
  3. 在 ISPDB 中查找 "example.com"
  4. 在 DNS 中查找 "MX example.com",mx1.mail.hoster.com 的情况下,在 ISPDB 中查找 "hoster.com"
  5. 尝试猜测 (imap.example.com、smtp.example.com 等)

我们可能会在未来将 DNS SRV 记录作为支持的机制之一,但目前我们还没有这样做。


0

一般情况下,没有绝对正确的方法来实现这个。

但是,您可以使用常见邮件提供商的表格来填写默认值,也可以填写smtp.example.com等等...但在某些简单情况下仍然会失败,比如我的工作系统,所有东西都在mail.wherever.com上,使用不寻常的端口号。因此,最终用户必须能够覆盖您所做的任何操作。

如果您真的希望它是通用的,您还需要处理证书和EAP。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接