需要用c++检查Exchange服务器的收件箱
Need to check the inbox of an Exchange server with C++
我正在用c++做一个在Microsoft Exchange服务器上备份和恢复电子邮件的项目,我正在尝试为恢复功能编写自动测试。现在我可以创建测试用户、数据库和邮箱,并且可以通过Exchange Admin Powershell在用户之间发送电子邮件。然而,Exchange没有命令行来查看或删除电子邮件(据我所知)。有办法做到这一点与直接交换命令吗?
我没有找到一种方法,所以我正在寻找一个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"。删除留言
Search-Mailbox -Identity "TestMailbox" -SearchQuery 'MagicRainbowUnicorn' -DeleteContent
Test for message
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#而不是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
}
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 为什么make_tie不是一件事
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 从服务器传输到客户端的消息不会出现
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- OpenSSL TLS服务器-使用客户端证书白名单
- 写入文件会产生一个空文件或根本没有文件
- 我正在开发服务器,ip作为参数传递不起作用
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 多态杆件变量 - 类设计
- 提升 Asio TCP 服务器 处理多个客户端
- 由非托管(C++)COM服务器实例化的托管(C#)控件在Windows更新后损坏
- 如何在 Symbian 上检索 SMS 收件箱消息,最好使用 j2me
- 在C++中使用libcurl访问Gmail收件箱
- Qt将滑块连接到双收件箱
- 密码套件错误或与OpenSSL服务器没有连接
- 需要用c++检查Exchange服务器的收件箱