有没有办法确定给定电子邮件地址的POP或IMAP服务器?我正在为非技术用户构建一个应用程序,我真的不想打扰他们询问他们的IMAP / POP服务器。 mail2web.com这样做,但我不确定如何。
答案 0 :(得分:6)
这就是Thunderbird的做法
/**
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 */
答案 1 :(得分:2)
Thunderbird 3也是这样做的。我会看一下源代码 我认为它只是一个查询表..
答案 2 :(得分:1)
标准中没有任何内容规定给定域的POP / IMAP服务器。只有惯例或Joril建议,可以使用查找表。 SMTP服务器是不同的,因为有功能要求将邮件发送到下一站。提取(通过POP / IMAP)是一个完全本地的域管理问题。遗憾。
我猜您可以使用域名并构建服务器名称,使fred@mymail.com成为pop.mymail.com和imap.mymail.com。或者可能更进一步,询问MX记录并执行类似的替换。然后,您可以浏览候选服务器列表,查找POP / IMAP响应。可能在安全方面有点狡猾。
干杯, 丹
答案 3 :(得分:0)
一般来说,绝对没有办法正确地做到这一点。
但是,你可以使用普通邮件提供商的表来填写默认值,你可以填写smtp.example.com等......但是在一些简单的情况下仍然会失败,但是,就像我的工作系统一样在mail.wherever.com上有不寻常的端口号。因此,最终,用户必须能够覆盖您所做的任何事情。
如果你真的希望它是一般性的,那么你将不得不处理证书和EAP。
答案 4 :(得分:0)
所有查找机制都使用电子邮件地址域作为查找的基础。例如,对于电子邮件地址fred@example.com,查找将按(按此顺序)执行:
我们将来可能会将DNS SRV记录添加为支持的机制,但我们目前没有。