簡體   English   中英

如何從分發列表中獲取電子郵件地址?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM