代码之家  ›  专栏  ›  技术社区  ›  Dave Harding

以编程方式验证电子邮件是否已到达Exchange邮箱

  •  1
  • Dave Harding  · 技术社区  · 15 年前

    我有一份工作是运行的,它向我们的用户发送电子邮件,然后开始我们公司的工作流程。定期,用户会上下发誓他们没有收到电子邮件-但是,当我们去邮件管理员那里提取一个交换报告时,10个报告中有10个在他们删除的项目中。P

    我希望能够以编程方式验证通过.NET C(我认为是System.NET.mail)发送的消息是否到达了用户的邮箱。

    它是Exchange2007,所有邮件都是内部邮件。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Spencer Ruport    15 年前

    不能使用system.net.mail。你必须通过Exchange的API来确定电子邮件是否存在于某人的电子邮件帐户中。

    http://support.microsoft.com/kb/813349

        2
  •  1
  •   Srikar Doddi    15 年前

    设置一个帐户来捕捉所有反弹。这样,你就能知道哪一个到达了,哪一个没有到达。这是确保收到电子邮件的最佳方法。

    或者,您可以通过消息头添加读取接收(通过将处置通知设置为)。但同样,用户可以选择不读它…

        3
  •  1
  •   Jordij    15 年前

    我看到两种方法来做你想做的事:

    • 发送带有“送达确认”功能的电子邮件(而不是“已读回执”,用户可以按照CoddDetoglory所说的那样取消此功能)。那么,只需要监视通过任何方式接收这些确认的邮箱:Exchange Web服务、Outlook+com或VBA、MAPI等等。

    • 使用PowerShell接口交换并捕获查找storeDriver+传递事件的get-messagetrackinglog的输出。

    推荐文章