MapiMessage

MapiMessage class

表示可以解析的 Outlook Message 格式文档。

public sealed class MapiMessage : MapiMessageItemBase

构造函数

姓名 描述
MapiMessage() 初始化MapiMessage类.
MapiMessage(OutlookMessageFormat) 初始化MapiMessage类.
MapiMessage(string, string, string, string) 初始化MapiMessage类.
MapiMessage(string, string, string, string, OutlookMessageFormat) 初始化MapiMessage类.

特性

姓名 描述
Attachments { get; } 获取邮件中的附件。
Billing { get; set; } 包含与项目关联的帐单信息。
Body { get; set; } 获取消息文本。
BodyHtml { get; } 获取BodyRtf将消息转换为 HTML(如果存在),否则为空字符串。
BodyRtf { get; set; } 获取或设置 RTF 格式的消息文本。
BodyType { get; } 获取 body 的类型。
Categories { get; set; } 包含消息对象的关键字或类别。
ClientSubmitTime { get; set; } 获取或设置日期和时间 消息发送者提交消息
virtual CodePage { get; } 获取代码页。
Companies { get; set; } 包含与项目关联的公司名称。
ConversationTopic { get; } 获取对话线程中第一条消息的主题。
DeliveryTime { get; set; } 获取或设置日期和时间 消息已送达。
DisplayBcc { get; } 获取所有密件抄送 (BCC) 消息收件人的显示名称列表,以分号 (;) 分隔。
DisplayCc { get; } 获取所有抄送 (CC) 消息收件人的显示名称列表,以分号 (;) 分隔。
DisplayName { get; } 获取消息的显示名称。
DisplayNamePrefix { get; } 获取显示名称的前缀。
DisplayTo { get; } 获取主要 (To) 邮件收件人的显示名称列表,以分号 (;) 分隔。
Flags { get; } 获取消息标志。
Headers { get; set; } 获取传输消息头
InternetMessageId { get; } 获取消息的消息id。
virtual ItemId { get; } 项目 ID,与服务器一起使用
MessageClass { get; set; } 获取区分大小写的字符串,标识发送方定义的消息类,例如 IPM。注意。 消息类指定消息的类型、用途或内容。
MessageFormat { get; } 获取 Outlook 消息格式。
Mileage { get; set; } 包含与项目关联的里程信息。
NamedProperties { get; } 获取消息的命名属性。
NamedPropertyMapping { get; } 获取命名属性映射。
NormalizedSubject { get; } 获取消息的规范化主题。
virtual Properties { get; } 获取属性的集合。
PropertyStream { get; } 获取属性流。
ReadReceiptRequested { get; set; } 获取或设置是否请求已读回执的值。
Recipients { get; set; } 获取消息的收件人。
ReplyTo { get; set; } 获取或设置对名称的回复。
SenderAddressType { get; } 获取消息发送者的电子邮件地址类型。
SenderEmailAddress { get; set; } 获取或设置邮件发送者的电子邮件地址。
SenderName { get; set; } 获取或设置消息发送者的显示名称。
SenderSmtpAddress { get; set; } 获取或设置邮件发送者的电子邮件地址。
Sensitivity { get; set; } 获取灵敏度。
SentRepresentingAddressType { get; } 获取发件人所代表的消息传递用户的地址类型。
SentRepresentingEmailAddress { get; set; } 获取或设置发件人代表的消息传递用户的电子邮件地址。
SentRepresentingName { get; set; } 获取或设置发件人所代表的消息传递用户的显示名称。
SentRepresentingSmtpAddress { get; } 获取或设置发件人代表的消息传递用户的电子邮件地址。
Subject { get; set; } 获取或设置消息的主题。
SubjectPrefix { get; } 获取主题前缀,该前缀通常指示对消息的某些操作,例如用于转发的“FW:”。
SubStorages { get; } 获取子存储。
TransportMessageHeaders { get; } 获取特定于传输的消息信封信息。

方法

姓名 描述
static FromMailMessage(MailMessage) 从 MailMessage 创建 MapiMessage 实例。
static FromMailMessage(string) 从 MailMessage 创建 MapiMessage 实例。
static FromMailMessage(MailMessage, MapiConversionOptions) 从 MailMessage 创建 MapiMessage 实例。
static FromProperties(MapiPropertyCollection) 从 Mapi 属性的集合创建 MapiMessage 的实例。
static Load(Stream) 从流中加载消息。
static Load(string) 从文件加载消息。
static Load(Stream, LoadOptions) 使用附加选项从流中加载消息。
static Load(string, LoadOptions) 使用附加选项从文件加载消息。
static LoadFromTnef(Stream) 从传输中性封装格式 (TNEF) 数据结构加载消息
static LoadFromTnef(string) 从传输中性封装格式 (TNEF) 数据结构加载消息
AddCustomProperty(MapiProperty, string) 添加自定义属性。
AddCustomProperty(MapiPropertyType, byte[], string) 添加自定义属性。
CheckBounced() 检查是否可以将此邮件视为退回邮件。
Clone() 创建一个作为当前实例副本的新对象。
virtual Dispose() 执行与释放、释放或重置非托管资源相关的应用程序定义任务。
GetCustomProperties() 获取自定义 MapiProperties 的集合。
override GetProperty(PropertyDescriptor) 通过属性描述符获取 MAPI 属性。
GetPropertyBoolean(long) 获取tag指定的属性值为布尔类型。
GetPropertyBytes(long) 获取tag指定的属性的字符串值。
GetPropertyDateTime(long) 获取 tag 指定的属性值为 DateTime 类型。
GetPropertyInt32(long) 获取tag指定的属性的int32值。
GetPropertyLong(long) 获取tag指定的属性值为Long(int64)类型。
GetPropertyShort(long) 获取 tag 指定的属性值为 Short 类型。
GetPropertyString(long) 获取tag指定的属性的字符串值。
GetPropertyString(long, int) 获取tag指定的属性的字符串值。
IsStoreUnicodeOk() 确定字符串属性是否为 Unicode 编码。
RemoveProperty(long) 提供从所有集合中正确删除的属性。
Save(Stream) 作为 Msg. 保存到指定的流
Save(string) 保存到指定文件作为 Msg.
Save(Stream, SaveOptions) 将消息保存为带有附加选项的流。
Save(string, SaveOptions) 将消息另存为带有附加选项的文件。
SaveAsTemplate(Stream) 以 Outlook 文件模板(OFT 格式)保存到指定流。
SaveAsTemplate(string) 以 Outlook 文件模板(OFT 格式)保存到指定文件。
SaveAsTnef(Stream) 以 TNEF 格式保存消息。
SaveAsTnef(string) 以 TNEF 格式保存消息。
virtual SetBodyContent(string, BodyContentType) 设置正文的内容。
virtual SetBodyContent(string, BodyContentType, bool) 设置正文的内容。
SetBodyRtf(string, bool) 获取或设置 RTF 格式的消息文本。
SetMessageFlags(MapiMessageFlags) 设置消息标志。
virtual SetProperty(MapiProperty) 设置属性。
override SetProperty(PropertyDescriptor, object) 设置 MAPI 属性。
SetStringPropertyValue(long, string) 设置字符串属性值。
ToMailMessage(MailConversionOptions) 从此 MapiMessage 创建 MailMessage 的实例。
ToMapiMessageItem() 将 MapiMessage 转换为 IMapiMessageItem object 依赖于 MessageClass.
TryGetPropertyData(long) 尝试获取指定标签键的属性数据。
TryGetPropertyDateTime(long, ref DateTime) 获取指定属性的值作为 DateTime 类型。 返回值表示操作是否成功。
TryGetPropertyInt32(long, ref int) 获取指定属性的值作为 Int32 类型。 返回值表示操作是否成功。
TryGetPropertyLong(long, ref long) 获取指定属性的值作为 Long 类型。 返回值表示操作是否成功。
TryGetPropertyString(long) 尝试获取属性数据作为带有指定标签的字符串。
TryGetPropertyString(long, int) 尝试将属性数据作为具有指定标签和代码页的字符串获取。
TryGetPropertyString(long, ref string) 以字符串类型获取指定属性的值。 返回值表示操作是否成功。
TryGetPropertyString(long, ref string, int) 以字符串类型获取指定属性的值。 返回值表示操作是否成功。
static DestroyAttachments(string) 销毁指定 Outlook 邮件文件中的附件。 DestroyAttachments 将忽略附件解析。
static IsMsgFormat(Stream) 判断指定流是否有MSG格式
static IsMsgFormat(string) 判断指定文件是否为MSG格式
static RemoveAttachments(string) 从指定的 Outlook 邮件文件中删除所有附件。

评论

MapiMessage 类的实例用于表示由 MapiMessageReader 类 解析的 Microsoft Outlook 消息文档文件。 要访问电子邮件的发件人、收件人和内容,请使用 MapiMessage 类的相关属性。

例子

以下示例演示了如何读取 Outlook 邮件文件。

[C#]

[视觉基础]

//打开 Outlook 邮件文件
MapiMessage msg = MapiMessage.FromFile(@"c:\outlookmessage.msg");

/读取主题
onsole.WriteLine("Subject:" + msg.Subject);

/发件者姓名
onsole.WriteLine("From:" + msg.SenderName);

/邮件正文
onsole.WriteLine("Body:" + msg.Body);

/附件
oreach(MapiAttachment att in msg.Attachments)

   Console.WriteLine("Attachment Name:"+att.FileName);
   att.Save(att.FileName);
    
'打开 Outlook 邮件文件 
Dim msg As MapiMessage = MapiMessage.FromFile("c:\outlookmessage.msg") 

'阅读主题 
Console.WriteLine("Subject:" + msg.Subject) 

'发件者姓名 
Console.WriteLine("From:" + msg.SenderName) 

'邮件正文 
Console.WriteLine("Body:" + msg.Body) 

'附件 
For Each att As MapiAttachment In msg.Attachments 
    Console.WriteLine("Attachment Name:" + att.FileName) 
    att.Save(att.FileName) 
Next

也可以看看