2016-08-23 61 views
0

我正在處理一個活動工具,該工具會將數據庫中的傳入和傳出電子郵件存儲在不同的聯繫人中。我通過遍歷名稱空間中的每個文件夾並根據發件人電子郵件地址限制電子郵件來完成此操作。根據Outlook中的收件人電子郵件地址過濾已發送的郵件

到目前爲止,我設法存儲傳入的電子郵件,但出於某種原因,傳出的電子郵件完全被忽略。我假設我正在做的「Mailtiems.Restrict」不正確,但我無法弄清楚它可能是什麼。請參閱下面的代碼:

If folder.Name = outlookNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail).Name Then 
    outlookItems = folder.Items 
    outlookItems = outlookItems.Restrict("[SenderEmailAddress] = " & Quote(txtContactPersonalEmailAddress.Text) & " AND [MessageClass] = 'IPM.Note'") 
    ' Count total folder items for progress bar 
    iOutlookFolderTotalMailItems = outlookItems.Count 

計數總是返回0即使我已經發送了一封電子郵件給此聯繫人,它會出現在我的「已發送郵件」文件夾中。我想知道除了「SenderEmailAddress」之外,是否還有其他屬性需要用於「已發送郵件」。

+0

您正在發送給Exchange收件人嗎? txtContactPersonalEmailAddress.Text是否包含SMTP地址? –

+0

@DmitryStreblechenko我從一個Exchange帳戶發送,如果這就是你的意思。 txtContactPersonalEmailAddress.Text包含一個普通電子郵件地址字符串,例如「[email protected]」。目前,我只是遍歷發送的郵箱中的每封電子郵件(大約5000封郵件),以查找匹配的電子郵件,然後將其添加到數據庫中。循環5000個郵件項需要相當長的時間,因此我試圖使用限制,這在我的情況下不起作用。 – Nayon

回答

0

很可能你有一個EX(而不是SMTP)地址。看看應該與OutlookSpy匹配的項目 - 單擊項目按鈕,選擇SenderEmailAddress屬性。

相關問題