2016-02-01 59 views
0

我正在從一個項目中提取郵件數據,這些郵件數據來自Outlook中的一大組.PST文件,並在excel中記錄每個人mailitem,使用VBA對幾個mailitem屬性進行排序。解決.PST文件的地址

我現在面臨的問題是獲取真實的電子郵件地址而不是名稱。如果我循環訪問每個mailitem上的收件人並獲取他們的recipient.address屬性,我大部分時間都會收到他們的交換地址,但不會收到他們實際的電子郵件地址。

我需要標準的電子郵件格式(*XXXXX*@*XXXX*.com)但我正在處理外部pst文件,無法訪問原始交換網絡。

這是否意味着無法檢索電子郵件地址?

+2

歡迎來到SO。這不是一個免費的代碼寫入服務,但存在幫助其他人嘗試開發代碼或功能。因此,我們希望通過數據例子,嘗試代碼,實際產出,預期產出,解決問題的研究努力等方式看到明確的問題。請閱讀HELP頁面以獲取有關[如何提出好問題]的信息, (http://stackoverflow.com/help/how-to-ask);還有[如何提供示例](http://stackoverflow.com/help/mcve) –

+0

我很抱歉,在與外部PST文件交易時沒有太多選項 – Jeanno

+0

感謝您的回覆,但我是不要求任何人寫我的代碼我已經自己寫了。我只需要回答我的問題。我可以在mailitem收件人上使用.Address屬性,但問題在於我得到的是交換地址,而不是.address屬性下的可用電子郵件地址。我只想知道嘗試在沒有連接到交換服務器的情況下獲取發件人/收件人實際的電子郵件地址是徒勞無功的。 –

回答

1

在大多數情況下,SMTP地址(PR_SMTP_ADDRESS MAPI屬性)將在收件人表中可用,並且您可以使用Recipient.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x39FE001F")訪問它。當該屬性不存在時,準備處理異常。

看看其中一條消息OutlookSpy(單擊IMessage按鈕,轉到GetRecipientTable選項卡)。