簡體   English   中英

需要使用C ++檢查Exchange服務器的收件箱

[英]Need to check the inbox of an Exchange server with C++

我正在使用C ++開發一個項目,用於在Microsoft Exchange服務器上備份和還原電子郵件,我正在嘗試為還原功能編寫自動化測試。 現在,我可以創建測試用戶,數據庫和郵箱,並可以通過Exchange Admin Powershell在用戶之間發送電子郵件。 但是,Exchange沒有Commandlet可以查看或刪除電子郵件(據我所知)。 有沒有辦法直接使用Exchange Commandlet?

我還沒有找到方法,所以我正在尋找一種IMAP API,可以將其添加到項目中以啟用查看和刪除電子郵件的功能。 免費將是理想的選擇,但是它不能與GPL一起使用。 是否有沒有GPL的C ++ IMAP API? 是否可以通過編程方式查看和刪除我尚未嘗試過的電子郵件?

編輯:老實說,我不太怎么做,我只需要一種方法即可。 我願意接受任何建議。

https://technet.microsoft.com/en-us/library/ff459253(v=exchg.150).aspx

搜索郵箱可以刪除郵件。

https://technet.microsoft.com/en-us/library/ee633455(v=exchg.150).aspx

ExportMailboxRequest和ImportMailboxRequest cmdlet完成了導入和導出數據的大部分繁重工作。

為什么需要閱讀消息? Powershell還可以使用Outlook庫命令執行客戶端腳本。

編輯

在測試電子郵件中添加一個“魔術短語”。 “MagicRainbowUnicorn”。

  1. 刪除留言

     Search-Mailbox -Identity "TestMailbox" -SearchQuery 'MagicRainbowUnicorn' -DeleteContent 
  2. 測試消息

     Switch ((Search-Mailbox -Identity "TestMailbox" -SearchQuery 'MagicRainbowUnicorn').count) { 0 { "No Results Found" } 1 { "One Result" } default { "More than One, or some other strange Result" } } 

我沒有足夠的聲譽來發表評論,但是您可以使用C ++來使用Exchange Web Services嗎? 我用C#編寫了一些使用EWS監視郵箱的程序。 我可以查看和刪除Exchange中的郵件。

[編輯]這是我在C#中使用的示例,如果您決定使用它而不是C ++。 也許它將幫助您朝着正確的方向發展。

using Microsoft.Exchange.WebServices.Data;

ExchangeService svc = new ExchangeService(ExchangeVersion.Exchange2010);
svc.Credentials = new WebCredentials("user@domain.com", "password");
svc.AutodiscoverUrl("user@domain.com");

// loop through messages in Inbox
foreach (EmailMessage msg in svc.FindItems(WellKnownFolderName.Inbox, new ItemView(int.MaxValue)))
{
    // do stuff with message
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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