我需要在Python脚本中连接到一个Exchange邮箱,而不需要在本地计算机上使用任何配置文件设置(包括使用Outlook)。如果使用win32com创建MAPI.Session,我可以使用现有配置文件登录(使用logon()方法),但我只想提供用户名和密码。
这可能吗?如果是,有人能提供示例代码吗?我希望它只使用标准库和pywin32包。很遗憾,无法为Exchange服务器启用IMAP访问(然后使用imaplib)。
如果有必要:脚本将要做的就是连接到邮箱,并在收件箱中的邮件中运行,检索内容。如果我能在第一时间得到一个连接的话,我就可以为它编写代码了!
要澄清有关Outlook的问题:Outlook将安装在本地计算机上,但它没有任何帐户设置(即所有适当的库都将可用,但我需要独立于Outlook中的任何设置进行操作)。
如果不使用Outlook和MAPI配置文件,我确信这是不可能的。如果你能甜言蜜语地说服你的邮件管理员在Exchange服务器上启用IMAP,这会让你的生活更轻松。
我明白了,要连接到出站exchange,您需要这样连接:
现在你可以像正常连接一样发送
从你的收件箱收到邮件有点不同
这会给你一个消息id的列表' 你可以用来收发邮件
现在raw_email是你的email消息,但是它不是很漂亮,如果你想解析它的话,可以这样做
现在你可以了
或内容
但是如果它是一个多部分消息,你需要做更多的处理,幸运的是递归解决方案非常适合这种情况
现在
每次都会给你完整的信息。
我知道这是一条老线索,但是。。。
如果您使用的是Exchange 2007或更新版本,或Office365,请查看Exchange Web服务。这是一个非常全面的基于SOAP的Exchange接口,您可以做Outlook能够做的任何事情,包括委派或模拟对其他用户帐户的访问。
http://msdn.microsoft.com/en-us/library/bb204119.aspx
更新:我在PyPI上发布了一个Python EWS client,它支持自动发现、日历、收件箱、任务、联系人等:
相关问题 更多 >
编程相关推荐