【问题标题】:How get the IMAP server related to an email address如何获取与电子邮件地址相关的 IMAP 服务器
【发布时间】:2018-07-11 14:53:56
【问题描述】:

我想知道是否存在获取与电子邮件地址相关的 IMAP 服务器的工具。

例如,如果我收到 stack@hotmail.com,它应该返回:imap-mail.outlook.com。如果我收到 stack@outlook.com,它也应该返回:imap-mail.outlook.com

如果没有工具,我会用这些信息创建一个小数据库。

谢谢。

【问题讨论】:

  • 没有办法以编程方式确定域用户可以使用哪些 IMAP 服务器,并且传统上,许多组织只有 IMAP 服务器,这些服务器只能在 Intranet 内部使用(尽管非常公共 IMAPS 服务器和/或 Gmail 等外包电子邮件解决方案在很多地方都有使用)。映射可能不是 1:1;例如,一个组织可以将姓氏以 A-G 开头的用户引导到一台服务器上,H-N 在另一台服务器上,等等。
  • 一般来说,邮件地址不要求与 IMAP 服务器“相关”,因为还有其他访问邮箱的方式(POP3,仅限网络邮件,转发到不同的地址/服务器/邮箱, ...)。例如,Thunderbird 使用 ISP database 来表示已知的提供者。

标签: python email server imap hostname


【解决方案1】:

这是一种检测方法,使用免费的 api,你可以将你的电子邮件作为参数传递,它会返回 imap 服务器

  def imapdetect(email):
    with request.urlopen('https://emailsettings.firetrust.com/settings?q=' + email) as response:
        if response.getcode() == 200:
            source = response.read()
            data = json.loads(source)
    for i in range(0, len(data["settings"]) + 1):
      if data["settings"][i]["protocol"] == "IMAP":
        imapserver = data["settings"][i]["address"]
        break 
    return imapserver

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 2011-03-27
    • 2013-05-24
    • 2013-05-25
    • 1970-01-01
    • 2011-12-01
    • 2012-02-24
    • 2018-05-23
    相关资源
    最近更新 更多