2010-10-19 209 views
0


我试图发送电子邮件到一些地址
我这样做使用System.Net.mail
问题是,我需要做的每个收件人不同的电子邮件
,因为我需要在电子邮件中包含此用户的ID,问题是
大量的收件人,我无法使用循环调用发送函数为每个用户
如:for (int i=0;i<count;i++)
{moify message(msg); client.Send(msg);}
感谢我可以发送多个电子邮件地址多个收件人在C#

回答

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。

+0

是的,我已经做到了;问题在于每个收件人更改邮件对象 – Abd 2010-10-19 08:31:35

+0

对不起,我没有仔细阅读这个问题。那么,在这种情况下,我认为你必须为每个人发送不同的信息。为什么你不能使用循环? – 2010-10-19 08:35:07

+0

发送函数需要很长时间才能发送电子邮件给某个人,如果我使用循环,它会每次打开连接 – Abd 2010-10-19 08:37:30

1

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

代码将是这样的

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

我不知道如果SmtpClient支持一次发送多个邮件,如果是这样的话,你需要有几个SmtpClients,并通过一个是发无效

希望它有帮助

相关问题