2010-10-19 8 views
0

Salut
Je suis en train d'envoyer un courrier électronique à certaines adresses
je l'ai fait en utilisant la System.Net.Mail
le problème est que je dois faire la un message électronique différent pour chaque destinataire
parce que je dois mettre un lien dans l'e-mail contenant l'identifiant cet utilisateur, le problème est
le grand nombre de bénéficiaires que je ne peux pas utiliser une boucle pour appeler la fonction d'envoi pour chaque usesr
comme: for (int i=0;i<count;i++)
{moify message(msg); client.Send(msg);}
grâcepuis-je envoyer plusieurs adresses électroniques à destinataires multiples en C#

Répondre

0

Vous pouvez ajouter les destinataires directement dans votre MailMessage comme ceci:

MailMessage message = new MailMessage(); 

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

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

Vous pouvez également ajouter les destinataires en une seule chaîne séparant des e-mails par une virgule.

Ensuite, vous pouvez envoyer un seul MailMessage.

+0

Oui, je l'ai déjà fait; le problème est de changer le message ennemi chaque destinataire – Abd

+0

Désolé, je n'avais pas lu la question attentivement. Eh bien, dans ce cas, je pense que vous devez envoyer un message différent pour chaque personne. Pourquoi vous ne pouvez pas utiliser la boucle? –

+0

La fonction d'envoi prend beaucoup de temps pour envoyer un courriel à quelqu'un si j'utilise la boucle, il ouvrira la connexion à chaque fois – Abd

1

Vous envoyez plusieurs mails, donc je ne crois pas que ce que vous voulez réaliser est possible. Peut-être que vous pouvez essayer de les envoyer de manière asynchrone, de sorte que vous n'avez pas à attendre.

le code serait quelque chose comme ça

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

Je ne suis pas sûr si SmtpClient prend en charge l'envoi de plusieurs mails à la fois, si tel est le cas, vous aurez besoin d'avoir plusieurs SmtpClients et envoyer par celui qui est inactive

J'espère que ça aide