【问题标题】:Verify Email Address using Outlook Global Address List in Python在 Python 中使用 Outlook 全局地址列表验证电子邮件地址
【发布时间】:2017-04-14 23:12:17
【问题描述】:

我正在尝试根据 Outlook 全局地址列表验证内部电子邮件地址是否有效,发现这种方法 here 我使用的代码如下:

outlook = win32com.client.gencache.EnsureDispatch('Outlook.Application')
recipient = outlook.Session.CreateRecipient(emailToValidate)
recipient.Resolve()
print recipient.Resolved

但是,我遇到的问题是“recipient.Resolved”的值似乎一直返回 True,即使我使用无效地址进行测试也是如此。例如,如果我在 Outlook 中输入随机的内部电子邮件地址并按“Ctrl+K”来解决它,我将收到错误“我们将无法传递此邮件,因为电子邮件地址不再有效”但使用上面的代码,地址是可解析的。有谁知道我如何使用 Outlook 获得完全相同的结果?

而且我也在考虑与内部邮件服务器通信以验证电子邮件地址,但不想将我的明文凭据放入脚本中,有人对此有什么建议吗?谢谢,任何帮助表示赞赏。

【问题讨论】:

    标签: python outlook


    【解决方案1】:

    如果您的字符串看起来像 SMTP 地址,Outlook 会将其解析为一次性 SMTP 地址。提示“我们将无法传递此邮件,因为电子邮件地址不再有效”来自 EWS API(MailTips 命令)。

    您可以检查返回的 Recipient.AddressEntry.Type == "EX" 是否为 GAL 条目。如果您传递 GAL 中不存在的任何其他 SMTP 地址,地址类型将为“SMTP”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 2012-04-08
      • 2021-10-20
      • 2018-12-12
      • 1970-01-01
      • 2018-03-13
      • 2011-09-02
      相关资源
      最近更新 更多