private static ParseMessage ( Array data ) : Message | ||
data | Array | |
return | Message |
private static Message ParseMessage(byte[] data)
{
string msg = System.Text.Encoding.ASCII.GetString(data);
Message message = (Message)Parser.ParseMimeTypedAndEncodedContent(msg);
foreach (string key in message.HeaderFields.AllKeys)
{
string name = key;
string value = message.HeaderFields[key];
if (name.Equals("received")) message.Trace.Add(Parser.ParseTrace(key + ": " + value));
else if (name.Equals("to")) message.To = Parser.ParseAddresses(value);
else if (name.Equals("cc")) message.Cc = Parser.ParseAddresses(value);
else if (name.Equals("bcc")) message.Bcc = Parser.ParseAddresses(value);
else if (name.Equals("reply-to")) message.ReplyTo = Parser.ParseAddress(value);
else if (name.Equals("from")) message.From = Parser.ParseAddress(value);
else if (name.Equals("sender")) message.Sender = Parser.ParseAddress(value);
else if (name.Equals("content-type")) message.ContentType = Parser.GetContentType(key + ": " + value);
else if (name.Equals("content-disposition")) message.ContentDisposition = Parser.GetContentDisposition(key + ": " + value);
else if (name.Equals("domainkey-signature")) message.Signatures.DomainKeys = Signature.Parse(key + ": " + value, message);
}
return message;
//if (message.ContentType.MimeType != null && message.ContentType.MimeType.IndexOf("multipart/signed") != -1) message.IsSigned = true;
//if (message.ContentType.MimeType != null && message.ContentType.MimeType.IndexOf("multipart/encrypted") != -1) message.IsEncrypted = true;
}
private static void ParseMessage(ref Message message, X509Certificate2Collection certificates)
Parser::ParseMessage ( System.IO.MemoryStream inputStream ) : Message | |
Parser::ParseMessage ( string data ) : Message | |
Parser::ParseMessage ( Message &message, X509Certificate2Collection certificates ) : void |
/// <summary> /// Parses a Message from a string formatted accordingly to the RFC822. /// </summary> /// <param name="data">The string containing the message data to be parsed.</param> /// <returns>The parsed message as a Message object.</returns> /// <example> /// <code> /// C# /// /// Message message = Parser.ParseMessageString(rfc822string); /// //Expose the subject /// string subject = message.Subject; /// /// VB.NET /// /// Dim message As Message = Parser.ParseMessageString(rfc822string) /// 'Expose the subject /// Dim subject As String = message.Subject /// /// JScript.NET /// /// var message:Message = Parser.ParseMessageString(rfc822string); /// //Expose the subject /// var subject:string = message.Subject; /// </code> /// </example> public static Message ParseMessage(string data) { #if !PocketPC return(ParseMessage(Encoding.GetEncoding("iso-8859-1").GetBytes(data))); #else return(Parser.ParseMessage(Pop3Client.PPCEncode.GetBytes(data))); #endif }