【问题标题】:Detect email client where email is send检测发送电子邮件的电子邮件客户端
【发布时间】:2016-08-18 13:19:15
【问题描述】:

我们正在创建一个 Outlook 插件。 用户可以在多台设备上使用多电子邮件客户端发送电子邮件。 然后,所有电子邮件发送将同步到 Outlook 上的发送文件夹。 出于某种原因,我们必须知道使用 Microsoft Outlook 以外的其他电子邮件客户端发送了哪些电子邮件。

MailItem 类可以吗?

【问题讨论】:

  • 您能否解释一下:“出于某种原因,我们必须知道使用 Microsoft Outlook 以外的其他电子邮件客户端发送了哪些电子邮件。”什么意思?
  • 我们的插件允许用户进行业务操作并在用户发送电子邮件时将电子邮件保存到数据库。当然,我们不能在其他电子邮件客户端上这样做,因为我们无法在所有这些客户端上创建插件。因此,我们考虑 Outlook 上的 [Send] 文件夹,它包含由同一帐户发送的所有电子邮件。我们将查看 Send 文件夹中的所有电子邮件,并检测用户用来发送它的电子邮件客户端。然后,我们会通知他们保存到我们的数据库中。 @亚历克斯

标签: c# email outlook add-in outlook-addin


【解决方案1】:

使用自定义用户/命名属性标记随您的软件发送的电子邮件。然后,您可以查找不具有该属性的消息。

【讨论】:

  • 这是一种简单明了的方法。但是,MailItem 对象是否包含任何可以存储自定义备注的字段? @Dmitry Streblechenko
  • 您可以使用 MailItem.UserProperties.Add。请记住,添加用户属性可能会导致 Outlook 以 RTF 格式发送。您可以通过使用 MailItem.PropertyAccessor.SetProperty 设置自定义属性来避免 - 确保它是一个命名属性,只需选择一个 GUID 和名称。使用 OutlookSpy(单击 IMessage 按钮)查看消息以查看属性及其 DASL 名称(在 SetProperty 中使用)。
猜你喜欢
  • 2022-01-13
  • 2010-11-09
  • 2011-05-04
  • 2021-05-23
  • 2012-07-07
  • 2013-04-03
  • 2010-10-23
  • 1970-01-01
相关资源
最近更新 更多