/**
18 * Try to guess the config, by:
19 * - guessing hostnames (pop3.<domain>, pop.<domain>, imap.<domain>,
20 * mail.<domain> etc.)
21 * - probing known ports (for IMAP, POP3 etc., with SSL, STARTTLS etc.)
22 * - opening a connection via the right protocol and checking the
23 * protocol-specific CAPABILITIES like that the server returns.
24 */
Thunderbird 3也可以做到这一点。我建议查看源代码。
但我认为这只是一个查找表。
标准中没有规定给定域的POP/IMAP服务器。只能使用约定或像Joril建议的查找表。SMTP服务器不同,因为有将邮件发送到下一站的功能要求。通过POP/IMAP接收是完全由本地域管理员处理的问题。抱歉。
我想你可以使用域名构建服务器名称,例如fred@mymail.com变成pop.mymail.com和imap.mymail.com。或者更进一步,查询MX记录并执行类似的替换。然后,您可以运行候选服务器列表,寻找POP/IMAP响应。但在安全方面可能有些危险。
干杯, 丹
Thunderbird 干得不错。它的方法在这里描述 https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration。以下是文档的摘录。
所有查找机制都以电子邮件地址域作为查找的基础。例如,对于电子邮件地址 fred@example.com,按照以下顺序执行查找:
我们可能会在未来将 DNS SRV 记录作为支持的机制之一,但目前我们还没有这样做。
一般情况下,没有绝对正确的方法来实现这个。
但是,您可以使用常见邮件提供商的表格来填写默认值,也可以填写smtp.example.com等等...但在某些简单情况下仍然会失败,比如我的工作系统,所有东西都在mail.wherever.com上,使用不寻常的端口号。因此,最终用户必须能够覆盖您所做的任何操作。
如果您真的希望它是通用的,您还需要处理证书和EAP。