可以在C#中向多个收件人发送多个电子邮件地址吗?

时间:2010-10-19 08:23:00

标签: c# asp.net sendmail

您好
我正在尝试向某些地址发送电子邮件 我是使用System.Net.mail做的 问题是我需要为每个收件人制作不同的邮件 因为我需要在包含id这个用户的电子邮件中放置一个链接,问题是 我不能使用循环为每个使用者调用发送功能的大量接收者
像:for (int i=0;i<count;i++)
    {moify message(msg); client.Send(msg);}
感谢

2 个答案:

答案 0 :(得分:1)

您正在发送多封邮件,因此我不相信您想要实现的目标。 也许你可以尝试异步发送它们,所以你不必等待。

代码就是这样的

foreach (var message in messages)
{
    var mail = new MailMessage("from", "to");
    ThreadPool.QueueUserWorkItem(x => client.Send(mail));
}

我不确定SmtpClient是否支持一次发送多封邮件,如果是这种情况,您将需要有几个SmtpClients并通过一个非活动的发送

希望有所帮助

答案 1 :(得分:0)

您可以将收件人直接添加到MailMessage中,如下所示:

MailMessage message = new MailMessage();

        for (int i = 0; i < count; i++)
        {
            message.To.Add("email");
        }

SmtpClient client = new SmtpClient();
client.Send(message);

您还可以将收件人添加到单个字符串中,用逗号分隔电子邮件。

然后你只能发送一个MailMessage。