【问题标题】:Exchange Web Service Managed API: How to read From Email Address?Exchange Web 服务托管 API:如何从电子邮件地址读取?
【发布时间】:2012-02-29 00:17:09
【问题描述】:

我正在为我的一些开发任务使用 Exchange Web Service Managed API 1.1 版本,我想对传入的电子邮件执行一些操作。

  1. 确认发件人
  2. 将磁盘上的电子邮件信息保存为 html 文件(SaveAs 选项提供的方法相同

对于第一个问题,为了将电子邮件发送给发件人,我需要获取发件人的电子邮件地址。因此,我尝试了以下操作,但没有运气:( 执行以下操作我可以获得电子邮件,其中 From 仅包含名称而不是电子邮件地址。

    EmailMessage email = EmailMessage.Bind(exchangeService, item.Id);
    Console.WriteLine(email.From.Address);

谁能帮帮我。

谢谢,

安库什·古普塔

【问题讨论】:

  • 那么您遇到了什么错误/问题?
  • 我无法获取发件人的电子邮件地址。我再次完善了我的问题。
  • 我可以使用 EWS 获取发件人电子邮件地址。我错过了添加 email.Load() 调用,这样做时所有第一类属性都会被加载,并且我能够获取发件人地址。
  • 是的。第二种:将电子邮件信息保存为 html 文件(与 SaveAs 选项提供的方法相同)
  • 您想要邮件的正文还是精美的视图,包括发件人、收件人、主题...... Outlook 在您打印电子邮件时生成的内容?

标签: exchangewebservices


【解决方案1】:

回答cmets中的问题:

EWS 不提供将邮件直接保存为 HTML 的方法。但是,您可以使用此属性集以 HTML 格式获取邮件正文:

mail.Load(new PropertySet(ItemSchema.Body) {RequestedBodyType = BodyType.HTML});

如果您想要更花哨的东西(例如 Outlook 的另存为 html 功能),您必须将正文与 From、ToRecipients、CCRecipients、Subject 和 Received 属性结合起来。

【讨论】:

  • 如果我的电子邮件包含嵌入图像,则保存的 HTML 文件将无法呈现图像,因为图像不存在(因为邮件正文中的名称和保存的 HTML 不同),即使我尝试获取附件,但 html 中的名称(我使用文件流保存)与附件集合中的名称不同。我是否需要解析 HTML 并将图像名称替换为从集合中获得的名称??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 1970-01-01
  • 2012-07-13
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 2015-11-08
相关资源
最近更新 更多