我有一份工作,它会向我们的用户发送电子邮件,从我们公司的工作流程开始。用户会定期发誓他们没有收到电子邮件 - 但是,当我们去邮件管理员提取交换报告时,10次中有10次是他们删除的项目。 :P
我希望能够以编程方式验证通过.net C#(我认为是System.Net.Mail)发送的邮件是否已到达用户的邮箱。
这是Exchange 2007,所有消息都是内部的。
答案 0 :(得分:2)
你不能使用System.Net.Mail。您必须深入了解Exchange的API,以确定某人的电子邮件帐户中是否存在电子邮件。
答案 1 :(得分:1)
设置一个帐户以捕获所有退回。通过这种方式,您将知道哪些已达到,哪些未达到。这是确保电子邮件到达的最佳方式。
或者,您可以通过邮件标题添加读取收据(通过设置Disposition-Notification-To)。但同样,用户可以选择不读它......
答案 2 :(得分:1)
我认为有两种方法可以做你想做的事:
发送带有“送货确认”的电子邮件(不是“阅读收据”,用户可以将其视为CoddeToGlory所说的)。然后就是监控通过它适合您的任何方式接收这些确认的邮箱:Exchange Web服务,Outlook + COM或VBA,MAPI,......
使用powershell界面进行Exchange并捕获Get-MessageTrackingLog的输出,以查找StoreDriver + Deliver事件。