Introduction
This article provides an advanced MIME editor. You can use it for parsing email messages, changing messages and for creating new email messages. It supports creation of complex messages with nested MIME entities. For more info, see help file: LumiSoft.Net.Mime
namespace.
Message examples
Simple message:
//--- 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
In simple message, the MainEntity
is the whole message.
Message with attachments:
//--- 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
Here MainEntity
is the multipart_mixed
entity, and the text and attachment entities are child entities of MainEntity
.
Using the code
Parsing example:
Mime m = Mime.Parse("message.eml");
Creating a new simple message:
Mime m = new Mime();
MimeEntity mainEntity = m.MainEntity;
mainEntity.From = new AddressList();
mainEntity.From.Add(new MailboxAddress("dispaly name","user@domain.com"));
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");
Creating a message with text and attachments:
Mime m = new Mime();
MimeEntity mainEntity = m.MainEntity;
mainEntity.From = new AddressList();
mainEntity.From.Add(new MailboxAddress("dispaly name","user@domain.com"));
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");
attachmentEntity.Data = your_attachment_data;