高级 MIME 解析器/创建器/编辑器






4.91/5 (64投票s)
2005年10月5日

1047474

7735
一个高级的 MIME 解析器/创建器/编辑器应用程序。
引言
本文提供了一个高级的 MIME 编辑器。您可以使用它来解析电子邮件消息、修改消息以及创建新的电子邮件消息。它支持创建包含嵌套 MIME 实体的复杂消息。有关更多信息,请参阅帮助文件:LumiSoft.Net.Mime
命名空间。
消息示例
简单消息
//--- Beginning of message
From: sender@domain.com
To: recipient@domain.com
Subject: Message subject.
Content-Type: text/plain
Message body text. Bla blaa
blaa,blaa.
//--- End of message
在简单消息中,MainEntity
是整个消息。
带有附件的消息
//--- Beginning of message
From: sender@domain.com
To: recipient@domain.com
Subject: Message subject.
Content-Type: multipart/mixed; boundary="multipart_mixed"
--multipart_mixed /* text entity */
Content-Type: text/plain
Message body text. Bla blaa
blaa,blaa.
--multipart_mixed /* attachment entity */
Content-Type: application/octet-stream
attachment_data
--multipart_mixed--
//--- End of message
这里 MainEntity
是 multipart_mixed
实体,文本和附件实体是 MainEntity
的子实体。
使用代码
解析示例
Mime m = Mime.Parse("message.eml");
// Do your stuff with mime
创建一个新的简单消息
Mime m = new Mime();
MimeEntity mainEntity = m.MainEntity;
// Force to create From: header field
mainEntity.From = new AddressList();
mainEntity.From.Add(new MailboxAddress("dispaly name","user@domain.com"));
// Force to create To: header field
mainEntity.To = new AddressList();
mainEntity.To.Add(new MailboxAddress("dispaly name","user@domain.com"));
mainEntity.Subject = "subject";
mainEntity.ContentType = MediaType_enum.Text_plain;
mainEntity.ContentTransferEncoding = ContentTransferEncoding_enum.QuotedPrintable;
mainEntity.DataText = "Message body text.";
m.ToFile("message.eml");
创建一个包含文本和附件的消息
Mime m = new Mime();
MimeEntity mainEntity = m.MainEntity;
// Force to create From: header field
mainEntity.From = new AddressList();
mainEntity.From.Add(new MailboxAddress("dispaly name","user@domain.com"));
// Force to create To: header field
mainEntity.To = new AddressList();
mainEntity.To.Add(new MailboxAddress("dispaly name","user@domain.com"));
mainEntity.Subject = "subject";
mainEntity.ContentType = MediaType_enum.Multipart_mixed;
MimeEntity textEntity = mainEntity.ChildEntities.Add();
textEntity.ContentType = MediaType_enum.Text_plain;
textEntity.ContentTransferEncoding = ContentTransferEncoding_enum.QuotedPrintable;
textEntity.DataText = "Message body text.";
MimeEntity attachmentEntity = mainEntity.ChildEntities.Add();
attachmentEntity.ContentType = MediaType_enum.Application_octet_stream;
attachmentEntity.ContentDisposition = ContentDisposition_enum.Attachment;
attachmentEntity.ContentTransferEncoding = ContentTransferEncoding_enum.Base64;
attachmentEntity.ContentDisposition_FileName = "yourfile.xxx";
attachmentEntity.DataFromFile("yourfile.xxx");
// or
attachmentEntity.Data = your_attachment_data;