接著添加一個全局變量來存儲郵件集合:
public List<Mail> mails = new List<Mail>();
然後將所有郵件的信息添加的mails集合中,並將它們的標題添加到一個ListBox中。
//清空郵件列表
lb_Mail.Items.Clear();
mails.Clear();
//獲取郵箱視圖
NotesDbDirectory dir = ns.GetDbDirectory("DominoT/TEST");
NotesDatabase maildb = dir.OpenMailDatabase();
NotesView nv = maildb.GetVIEw("$inbox");
//遍歷所有郵件
NotesDocument doc = nv.GetFirstDocument();
while (doc != null)
{
Mail mail = new Mail();
mail.Subject = ((object[])doc.GetItemValue("Subject"))[0].ToString();
mail.From = ((object[])doc.GetItemValue("From"))[0].ToString();
mail.Body = ((object[])doc.GetItemValue("Body"))[0].ToString();
mail.Time = ((object[])doc.GetItemValue("PostedDate"))[0].ToString();
object[] items = (object[])doc.Items;
foreach (NotesItem item in items)
{
if (item.Name == "$FILE")
{
string fileName = ((object[])item.Values)[0].ToString();
NotesEmbeddedObject file = (NotesEmbeddedObject)doc.GetAttachment(fileName);
if (file != null)
mail.Files.Add(file);
}
}
mails.Add(mail);
lb_Mail.Items.Add(mail.Subject);
//查找下一封郵件
doc = nv.GetNextDocument(doc);
}