将相同的System.Net.MaiL.MailMessage发送给多个收件人

时间:2009-12-10 15:25:21

标签: c# email mailmessage

我有一个基本上有“SendEmail”方法的方法(稍后将由WCF服务使用)

它有诸如主题,身体等的参数......以及收件人的字符串[]。 我所做的是根据参数创建一个MailMessage,然后使用smtp发送它 - 我知道MailMessage有一个To MailAddressCollection,但如果我将每个地址添加到该邮件地址,则该消息将被CC给集合中的每个人。

我想做的是将它发送给他们seperateley。

除了为收件人数组中的每个项创建单独的邮件消息并以这种方式发送之外,有没有办法做到这一点? 我不想只是将它BCC给他们......据我所知,它仍然记录在邮件的标题中,并且它不是特别优雅。

2 个答案:

答案 0 :(得分:2)

我认为在这种特殊情况下,您只能创建一个单独的MailMessage对象。

答案 1 :(得分:1)

可能你可以使用这样的东西:

MailMessage msg= new MailMessage();
msg.Subject = *your subject text*;
msg.From = new MailAddress(*your address*, *your title*;);
msg.Body = *your body text*;;

foreach (DataRow row in dsRecipients .Tables[0].Rows)
{
    foreach (DataColumn col in dsRecipients .Tables[0].Columns)
    {
        msg.To.Clear();
        msg.To.Add(new MailAddress((string)row[col]));
        server.Send(msg);
    }
}

其中dsRecipients是填充了收件人的数据集。