public bool newMessage(String uidl, SharpMimeHeader header)
{
bool error = false;
this.inbox_view.RowFilter = String.Concat("uidl='", uidl, "'");
if (this.inbox_view.Count == 1)
{
DataRowView msg = this.inbox_view[0];
msg[4] = header.From;
msg[5] = "";
msg[6] = SharpMimeTools.parseFrom(header.From);
msg[7] = header.To;
msg[8] = SharpMimeTools.parseFrom(header.To);
msg[9] = SharpMimeTools.parseFrom(header.Reply);
msg[10] = SharpMimeTools.parserfc2047Header(header.Subject);
String date = header.Date;
if (date.Equals(String.Empty) && header.Contains("Received"))
{
date = header["Received"];
if (date.IndexOf("\r\n") > 0)
date = date.Substring(0, date.IndexOf("\r\n"));
if (date.LastIndexOf(';') > 0)
date = date.Substring(date.LastIndexOf(';') + 1).Trim();
else
date = String.Empty;
}
msg[11] = date;
msg[12] = header.MessageID;
msg[13] = header;
msg[14] = SharpMimeTools.parseDate(date);
if (msg[6] != null)
{
foreach (SharpMimeAddress item in ((IEnumerable)msg[6]))
{
msg[5] = item["name"];
if (msg[5] == null || msg[5].Equals(System.String.Empty))
msg[5] = item["address"];
}
}
}
else
{
error = true;
}
return !error;
}