![](/img/trans.png)
[英]How to get a list of email addresses from on-premise Exchange Server in Python?
[英]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行,在= Account(...)文件中“E:\\ Python Virtual-如果'@'不在primary_smtp_address中,則env \\ Development \\ lib \\ site-packages \\ exchangelib \\ account.py“,第57行,在init中:TypeError:類型'省略號'的參數不可迭代
Python 省略號 ( ...
)有時被用作冗長代碼的占位符,這會使示例的可讀性降低。 但它恰好也是有效的Python語法。
可能為了簡潔起見,您使用a = Account(...)
在某個地方閱讀了一個示例,但這不是您設置帳戶的方式。 您需要使用您帳戶的參數替換...
,如https://github.com/ecederstrand/exchangelib#setup-and-connecting中所述
最后,回答您的問題:您需要以任何有權在給定DL上調用ExpandDL服務的用戶進行連接。 這可能是普通用戶或特殊系統帳戶,具體取決於您對Exchange服務器的訪問限制。 primary_smtp_address
是您要連接的帳戶的電子郵件地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.