2014-01-12 33 views
0

我有一個小型的Excel宏,用於向客戶端發送郵件。由於這些郵寄地址是通過報告ID而非我自己的ID發送的,因此我閱讀了所有Outlook帳戶設置的列表,以便用戶可以從中選擇「發送爲」。閱讀Outlook 2007中設置的所有電子郵件地址列表

現在,雖然下面的代碼讀取了Outlook中的所有設置帳戶,但有些情況下會設置電子郵件ID/DL,郵件程序需要從中進行發送;但是這段代碼未能列出那些允許它們被選中的代碼。

For Each oAccount In outApp.Session.Accounts 
    olAccountCollection.Add oAccount, oAccount.smtpaddress 
    Sheet1.cboOLAccounts.AddItem oAccount.smtpaddress 
Next 

因此請求一些幫助,以瞭解如何從Outlook中讀取所有這些ID。

(一個替代的解決方案也許硬編碼的電子郵件ID作爲選擇的類型。但是不知道前景會再允許通過Excel宏從這封電子郵件ID發送)

+0

你能更具體嗎?你是說你設置了一個POP3/SMTP帳戶,但它不在Accounts集合中?或者這是Exchange代表賬戶之一嗎? –

+0

嗨德米特里,它的電子郵件地址或分發名單,可用作發件人郵件中的發件人:id。然而,它不是一個帳戶添加到Outlook ... – vikramagain

回答

0

你的意思是你需要的郵件列表哪些可以用來代表當前的Windows用戶發送?

Outlook對象模型根本不公開該功能。

如果您正在使用擴展MAPI(C++或Delphi),你可以打開PR_EMS_AB_PUBLIC_DELEGATES財產(IMailUser :: OpenProperty)作爲IMAPITable。

您還可以使用贖回(任何語言)和RDOAddressEntry代表集合。

相關問題