private static FetchDataItem CreateFlagDateItem(MailMessage mail) { FetchDataItem item = new FetchDataItem(FetchDataItemType.Flags); item.Text = CreateFlaggedString(mail); return(item); }
private FetchDataItem CreateMailBodyDataItem(MailMessage mail) { FetchDataItem item = new FetchDataItem(FetchDataItemType.Body); string mailEnvelope = MSGorillaMailGenerator.CreateTextMessageMail(mail.MSGorillaMessageID, this.User); StringBuilder sb = new StringBuilder("{"); sb.Append(mailEnvelope.Length); sb.Append("}\r\n"); sb.Append(mailEnvelope); //sb.Append("\r\n"); item.Text = sb.ToString(); //Console.WriteLine("================={0}=======================", item.Text.Length); return(item); }
private FetchResponse Fetch(MailMessage mail, FetchDataList fetchDataList) { FetchResponse response = new FetchResponse(mail.SequenceNumber); FetchDataItem body = null; foreach (var data in fetchDataList) { switch (data) { case FetchDataItemType.All: break; case FetchDataItemType.Body: if (body == null) { body = CreateMailBodyDataItem(mail); } break; case FetchDataItemType.BodyPeek: if (body == null) { body = CreateMailBodyDataItem(mail); } break; case FetchDataItemType.BodyStructure: break; case FetchDataItemType.Envelope: break; case FetchDataItemType.Fast: break; case FetchDataItemType.Flags: response.Items.Add(new FetchDataItem(FetchDataItemType.Flags, CreateFlaggedString(mail))); break; case FetchDataItemType.Full: break; case FetchDataItemType.InternalDate: response.Items.Add( new FetchDataItem( FetchDataItemType.InternalDate, string.Format("\"{0:d-MMM-yyyy HH:mm:ss} {1}\"", mail.Timestamp, mail.Timestamp.ToString("zzz").Replace(":", "")) ) ); break; case FetchDataItemType.Rfc822: break; case FetchDataItemType.Rfc822Header: break; case FetchDataItemType.Rfc822Size: response.Items.Add(new FetchDataItem(FetchDataItemType.Rfc822Size, mail.Size.ToString())); break; case FetchDataItemType.Rfc822Text: break; case FetchDataItemType.Uid: response.Items.Add(new FetchDataItem(FetchDataItemType.Uid, mail.Uid.ToString())); break; default: break; } } //put the BODY[] item to the last if (body != null) { response.Items.Add(body); } return(response); }