IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Envoi de mail dans une boucle for Next


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 242
    Par défaut Envoi de mail dans une boucle for Next
    Bonjour,

    Le principe consiste à envoyer un mail à une liste de clients affichés dans un datagrid
    Donc après avoir crée le message, j'utilise une boucle pour récupérer l'adresse mail des destinataires et j'envoie le mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     for (int iRow = 0; iRow < dtg1.RowCount; iRow++)
      {
             try
             {
                     // Adresse du destinataire dans la colonne adéquate
                      msg.To.Add(dtg1[m_iColEmail, iRow].Value.ToString().Trim());
                      // Adresse de l'expéditeur affichée à l'écran
                      objSMTPClient.Credentials = new NetworkCredential(TextBox1.Text.Trim(), strPassword);
                      // envoi
                      objSMTPClient.Send(msg);
              }
              catch (Exception e)
              {
                      // message d'erreur
                      RootPrintError(2106, dtg1[m_iColEmail, iRow].Value.ToString().Trim(), e.Message);
                     // sortie de boucle
                     iRow = dtg1.RowCount;
              }           
     }
    J'ai fait un test avec 3 destinataires, aucun message d'erreur n'apparait mais
    Le 1er a reçu 3 fois son message
    Le 2eme 2 fois
    et le 3eme 1 fois!!!

    J'ai l'impression que l'envoi du 1er mail n'est pas terminé lors du 2eme passage dans la boucle, mais cela n'explique pas le résultat obtenu.

    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 428
    Par défaut
    Bonjour,
    A chaque itération tu ajoutes un destinataire au message.
    Il faut en premier vider la liste, sinon à la dernière itération le message contiendra TOUS les destinataires.

    Tatayo.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 242
    Par défaut
    Bonjour Tatayo

    J'ai fini par trouver, en faisant un peu différemment.
    J'ai mis toute la partie de création du message dans la boucle, et surtout

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MailMessage msg = new MailMessage();
    Cela crée à chaque fois un nouveau message.
    Mais c'est vrai que ta solution est plus propre.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Problème dans une boucle For..Next
    Par robby98800 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2012, 07h48
  2. Chercher dans les valeurs d'une cellule dans une boucle For Next
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/09/2011, 15h30
  3. If dans une boucle For : effectuer un next
    Par Freud44 dans le forum Général VBA
    Réponses: 2
    Dernier message: 29/01/2011, 21h42
  4. Appliquer un next sous conditions dans une boucle for
    Par Kibald dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/01/2009, 08h56
  5. Réponses: 5
    Dernier message: 27/11/2008, 17h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo