从 Outlook 发件箱文件夹发出的电子邮件如何修改?

How do I modify an email after it has been sent out from Outlook Outbox folder?

目前,在 Outlook 桌面用户单击“发送”后,我的 Outlook 加载项将对电子邮件执行一些修改并将其发送到第 3 方存储库以进行额外处理。然后,它将被发送给收件人。

问题

如果收件人是第 3 方存储库的注册用户,收件人将收到一条通知,表明 he/she 已收到一封电子邮件,并且能够在实际发送之前在存储库中查看它外表。在大多数情况下,这通常不是问题,因为在存储库和电子邮件客户端中接收电子邮件所需的时间大致相同。只有当 Send Delay 规则中的时间设置为很长的时间(例如超过 30 分钟)时,它才会成为一个真正的问题,因为收件人会看到他们已经在他们的第 3 方存储库帐户中收到了电子邮件,但还没有却在他们的电子邮件客户端中收到了它。

因此,我希望这些修改和处理遵循发送延迟规则,即如果设置了发送延迟规则,修改和发送到第 3 方存储库仅在计划发送时执行.顺便说一句,这些修改目前在 Microsoft.Office.Interop.Outlook.ItemEvents_EventSend and Microsoft.Office.Interop.Outlook.Application's ItemSend 事件中处理。

问题

是否有我可以处理的从 Outlook 发件箱文件夹中释放电子邮件后触发的事件?

ItemSend事件允许取消发送电子邮件的默认设置。因此,您可以将消息放入任何文件夹进行处理,即对电子邮件进行一些修改并将其发送到第 3 方存储库。当您完成所需的操作并准备发送电子邮件时,您可以调用 Send 方法重新提交邮件。要识别是否需要处理的电子邮件,您可以考虑添加任何标记,例如用户 属性.

无需使用延迟发送或任何其他替代方法。请注意,当项目发送给收件人时,电子邮件默认放入 Sent Items 文件夹。

Is there an event that is triggered after the email is released from Outlook's Outbox folder that I can handle?

您可以处理来自 Sent Items 文件夹的 Items class 的 ItemAdd 事件,以便了解电子邮件发送的确切时间。可以设置 SaveSentMessageFolder 属性 来指示一个文件夹,该文件夹代表发送后将保存电子邮件副本的文件夹。因此,可以使用任何文件夹代替 Sent Items 一个。在 ItemSend 中,您可以查看 属性 值并在需要时订阅 ItemAdd 事件。