如何从通讯组列表中获取电子邮件地址?
How to get email addresses from a distribution list?
我正在尝试检索 Exchange 2010 中 DL 的电子邮件地址。我尝试了此 url 中的代码,但出现错误。
https://github.com/ecederstrand/exchangelib
# primary_smtp_address: what should be provided here?
# cred: do we need to provide admin users to retrieve data?
from exchangelib import DELEGATE, Account, Credentials, Configuration
cred = Credentials(username='domain\username',password='xxxx')
config = Configuration(server='exchangeserver.com', credentials=cred)
account = Account(primary_smtp_address='def@xyz.com', config=config, autodiscover=False, access_type=DELEGATE)
for mailbox in account.protocol.epxand_dl('abc@xyz.com'):
print(mailbox.email_address)
结果不是低于错误。
回溯(最后一次调用):
文件 "E:\Sheik-Backup\Sheik-Backup\Workspace\FlaskProject\maillist.py",第 11 行,位于
a=账户(...)
文件 "E:\Python Virtual-Env\Development\lib\site-packages\exchangelib\account.py",第 57 行,在 init 中
如果“@”不在 primary_smtp_address 中:
类型错误:'ellipsis' 类型的参数不可迭代
A Python Ellipsis (...
) 有时用作冗长代码的占位符,这会降低示例的可读性。但它恰好也是有效的 Python 语法。
为了简洁起见,您可能在某处阅读了使用 a = Account(...)
的示例,但这不是您设置帐户的方式。您需要将 ...
替换为您帐户的参数,如 https://github.com/ecederstrand/exchangelib#setup-and-connecting
中所述
最后,回答您的问题:您需要以有权在给定 DL 上调用 ExpandDL 服务的任何用户身份进行连接。这可能是普通用户或特殊系统帐户,具体取决于您对 Exchange 服务器的访问限制。 primary_smtp_address
是您要连接的帐户的电子邮件地址。
我正在尝试检索 Exchange 2010 中 DL 的电子邮件地址。我尝试了此 url 中的代码,但出现错误。
https://github.com/ecederstrand/exchangelib
# primary_smtp_address: what should be provided here?
# cred: do we need to provide admin users to retrieve data?
from exchangelib import DELEGATE, Account, Credentials, Configuration
cred = Credentials(username='domain\username',password='xxxx')
config = Configuration(server='exchangeserver.com', credentials=cred)
account = Account(primary_smtp_address='def@xyz.com', config=config, autodiscover=False, access_type=DELEGATE)
for mailbox in account.protocol.epxand_dl('abc@xyz.com'):
print(mailbox.email_address)
结果不是低于错误。
回溯(最后一次调用): 文件 "E:\Sheik-Backup\Sheik-Backup\Workspace\FlaskProject\maillist.py",第 11 行,位于 a=账户(...) 文件 "E:\Python Virtual-Env\Development\lib\site-packages\exchangelib\account.py",第 57 行,在 init 中 如果“@”不在 primary_smtp_address 中: 类型错误:'ellipsis' 类型的参数不可迭代
A Python Ellipsis (...
) 有时用作冗长代码的占位符,这会降低示例的可读性。但它恰好也是有效的 Python 语法。
为了简洁起见,您可能在某处阅读了使用 a = Account(...)
的示例,但这不是您设置帐户的方式。您需要将 ...
替换为您帐户的参数,如 https://github.com/ecederstrand/exchangelib#setup-and-connecting
最后,回答您的问题:您需要以有权在给定 DL 上调用 ExpandDL 服务的任何用户身份进行连接。这可能是普通用户或特殊系统帐户,具体取决于您对 Exchange 服务器的访问限制。 primary_smtp_address
是您要连接的帐户的电子邮件地址。