public MailMessageParser GetEmail(Stream emailStream)
{
this.EmailStreamReader = new StreamReader(emailStream, Encoding.ASCII);
////prepare message, set defaults as specified in RFC 2046
MailMessageParser message = new MailMessageParser();
message.ContentTransferEncoding = TransferEncoding.SevenBit;
MailMessageParser result = null;
MimeEntityReturnCode messageMimeReturnCode = this.ProcessMimeEntity(message, string.Empty);
if (messageMimeReturnCode == MimeEntityReturnCode.bodyComplete || messageMimeReturnCode == MimeEntityReturnCode.parentBoundaryEndFound)
{
if (0 == message.To.Count)
{
string toField = message.Headers[ServiceConstants.Mail_Message_Receiver_Header];
if (!string.IsNullOrEmpty(toField))
{
message.To.Add(toField);
}
}
if (null == message.From)
{
string mailFrom = message.Headers[ServiceConstants.Mail_Message_Sender_Header];
if (!string.IsNullOrEmpty(mailFrom))
{
message.From = new MailAddress(mailFrom);
}
}
result = message;
}
return result;
}