如何使用C#中的EWS从Exchange获取HTML和TEXT中的电子邮件正文?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用C#中的EWS从Exchange获取HTML和TEXT中的电子邮件正文?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3021字,纯文字阅读大概需要5分钟。
内容图文
![如何使用C#中的EWS从Exchange获取HTML和TEXT中的电子邮件正文?](/upload/InfoBanner/zyjiaocheng/827/84cae8a4f1e446b18ee0b502e2c46065.jpg)
我有一个应用程序,使用EWS从交换机中读取电子邮件.我的问题是,获取电子邮件的HTML版本是一个电话,并获得电子邮件的TEXT版本是另一个电话.
有没有第三方控件可以在一次调用中获取两种格式?
有一些示例代码会很棒.
解决方法:
看看Exchange Server开发论坛上的这个帖子,我想它会回答你的问题. http://social.technet.microsoft.com/Forums/exchange/en-US/3c95b323-1ba2-4bc5-80bd-f5626707db6a/i-need-the-htmltext-and-the-plaintext-of-the-body-of-an-itemtype?forum=exchangesvrdevelopment
更新
我玩这个,所以我可以提供一个代码示例,事实证明你不必使用扩展属性.默认情况下,EWS在EmailMessageSchema.Body中返回HTML格式的主体 – 因此,如果您创建的属性集包含ItemSchema.TextBody和EmailMessageSchema.Body,则可以在一个Bind调用中获取这两种类型.
public static void GetEmail(ExchangeService service, ItemId ItemId)
{
PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, ItemSchema.TextBody, EmailMessageSchema.Body);
EmailMessage message = EmailMessage.Bind(service, ItemId, propSet);
}
这会产生以下XML请求:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
</soap:Header>
<soap:Body>
<m:GetItem>
<m:ItemShape>
<t:BaseShape>IdOnly</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="item:TextBody" />
<t:FieldURI FieldURI="item:Body" />
</t:AdditionalProperties>
</m:ItemShape>
<m:ItemIds>
<t:ItemId Id="AAMkADE4..." />
</m:ItemIds>
</m:GetItem>
</soap:Body>
以下回复:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<h:ServerVersionInfo MajorVersion="15" MinorVersion="0" MajorBuildNumber="878" MinorBuildNumber="11" Version="V2_10" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<m:GetItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<m:ResponseMessages>
<m:GetItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Items>
<t:Message>
<t:ItemId Id="AAMkADE4..." ChangeKey="CQAAABYAAAApjGm7TnMWQ5TzjbhziLL0AAGTja3C" />
<t:Body BodyType="HTML" IsTruncated="false"><!DOCTYPE HTML PUBLIC "-//W3C//DTD
HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
(Removed the rest of my HTML body)
</t:Body>
<t:TextBody BodyType="Text" IsTruncated="false">
(Removed my text body)
</t:TextBody>
</t:Message>
</m:Items>
</m:GetItemResponseMessage>
</m:ResponseMessages>
</m:GetItemResponse>
</s:Body>
希望有所帮助!
咪咪
内容总结
以上是互联网集市为您收集整理的如何使用C#中的EWS从Exchange获取HTML和TEXT中的电子邮件正文?全部内容,希望文章能够帮你解决如何使用C#中的EWS从Exchange获取HTML和TEXT中的电子邮件正文?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。