我需要连接到Python脚本中的Exchange邮箱,而无需使用本地计算机上的任何配置文件设置(包括使用Outlook)。如果我使用win32com创建一个MAPI.Session,我可以用现有的配置文件登录(使用Logon()方法),但我只想提供一个用户名和密码。
这个是可能的吗?如果是的话,有人能提供示例代码吗?我更希望它只使用标准库和pywin32包。不幸的是,无法为Exchange服务器启用IMAP访问(然后使用imaplib)。
如果有必要的话:脚本所要做的就是连接到邮箱,并运行收件箱中的消息,检索内容。如果我一开始就能得到一个连接,我就可以处理编写代码的问题了!
要澄清Outlook: Outlook将安装在本地计算机上,但它没有任何帐户设置(即所有适当的库都可用,但我需要独立于Outlook内部的任何设置操作)。
发布于 2010-06-18 19:21:29
我知道这是个老生常谈但是..。
如果使用Exchange2007或更高版本或Office365,请查看。它是一个非常全面的基于SOAP的Exchange接口,您几乎可以完成Outlook能够做的任何事情,包括对其他用户帐户的委托或模拟访问。
更新:我在PyPI上发布了一个支持自动发现、日历、收件箱、任务、联系人等功能的PyPI:
from exchangelib import DELEGATE, Account, Credentials
credentials = Credentials(
username='MYWINDOMAIN\\myusername', # Or myusername@example.com for O365
password='topsecret'
)
a = Account(
primary_smtp_address='john@example.com',
credentials=credentials,
autodiscover=True,
access_type=DELEGATE
)
# Print first 100 inbox messages in reverse order
for item in a.inbox.all().only('subject').order_by('-datetime_received')[:100]:
print(item.subject)
https://stackoverflow.com/questions/288546
复制相似问题