IList<MailboxAddress> GetMessageRecipients (bool includeSenders)
{
var recipients = new HashSet<MailboxAddress> ();
if (ResentSender != null || ResentFrom.Count > 0) {
if (includeSenders) {
if (ResentSender != null)
recipients.Add (ResentSender);
if (ResentFrom.Count > 0) {
foreach (var mailbox in ResentFrom.Mailboxes)
recipients.Add (mailbox);
}
}
foreach (var mailbox in ResentTo.Mailboxes)
recipients.Add (mailbox);
foreach (var mailbox in ResentCc.Mailboxes)
recipients.Add (mailbox);
foreach (var mailbox in ResentBcc.Mailboxes)
recipients.Add (mailbox);
} else {
if (includeSenders) {
if (Sender != null)
recipients.Add (Sender);
if (From.Count > 0) {
foreach (var mailbox in From.Mailboxes)
recipients.Add (mailbox);
}
}
foreach (var mailbox in To.Mailboxes)
recipients.Add (mailbox);
foreach (var mailbox in Cc.Mailboxes)
recipients.Add (mailbox);
foreach (var mailbox in Bcc.Mailboxes)
recipients.Add (mailbox);
}
return recipients.ToList ();
}