Click here to Skip to main content
15,886,258 members
Articles / Programming Languages / C#

Advanced MIME Parser/Creator/Editor

Rate me:
Please Sign up or sign in to vote.
4.91/5 (66 votes)
5 Oct 2005 995.6K   7.7K   116  
An advanced MIME parser/creator/editor application.
using System;

namespace LumiSoft.Net.IMAP.Server
{
	/// <summary>
	/// Provides data for message related events.
	/// </summary>
	public class Message_EventArgs
	{
		private IMAP_Message m_pMessage     = null;
		private string       m_Folder       = "";
		private string       m_CopyLocation = "";
		private byte[]	     m_MessageData  = null;
		private bool         m_HeadersOnly  = false;
		private string       m_ErrorText    = null;

		/// <summary>
		/// Default constructor.
		/// </summary>
		/// <param name="folder">IMAP folder which message is.</param>
		/// <param name="msg"></param>
		public Message_EventArgs(string folder,IMAP_Message msg)
		{				
			m_Folder   = folder;
			m_pMessage = msg;
		}

		/// <summary>
		/// Copy constructor.
		/// </summary>
		/// <param name="folder">IMAP folder which message is.</param>
		/// <param name="msg"></param>
		/// <param name="copyLocation"></param>
		public Message_EventArgs(string folder,IMAP_Message msg,string copyLocation)
		{				
			m_Folder       = folder;
			m_pMessage     = msg;
			m_CopyLocation = copyLocation;
		}

		/// <summary>
		/// GetMessage constructor.
		/// </summary>
		/// <param name="folder">IMAP folder which message is.</param>
		/// <param name="msg"></param>
		/// <param name="headersOnly">Specifies if messages headers or full message is needed.</param>
		public Message_EventArgs(string folder,IMAP_Message msg,bool headersOnly)
		{				
			m_Folder      = folder;
			m_pMessage    = msg;
			m_HeadersOnly = headersOnly;
		}


		#region Properties Implementation

		/// <summary>
		/// Gets IMAP folder.
		/// </summary>
		public string Folder
		{
			get{ return m_Folder; }
		}

		/// <summary>
		/// Gets IMAP message info.
		/// </summary>
		public IMAP_Message Message
		{
			get{ return m_pMessage; }
		}

		/// <summary>
		/// Gets message new location. NOTE: this is available for copy command only.
		/// </summary>
		public string CopyLocation
		{
			get{ return m_CopyLocation; }
		}

		/// <summary>
		/// Gets or sets message data. NOTE: this is available for GetMessage and StoreMessage event only.
		/// </summary>
		public byte[] MessageData
		{
			get{ return m_MessageData; }

			set{ m_MessageData = value; }
		}

		/// <summary>
		/// Gets if message headers or full message wanted. NOTE: this is available for GetMessage event only.
		/// </summary>
		public bool HeadersOnly
		{
			get{ return m_HeadersOnly; }
		}

		/// <summary>
		/// Gets or sets custom error text, which is returned to client.
		/// </summary>
		public string ErrorText
		{
			get{ return m_ErrorText; }

			set{ m_ErrorText = value; }
		}

		#endregion

	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Estonia Estonia
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions