Envoyer des mails avec plusieurs adresses emails [Résolu]

Signaler
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
-
Bonjour à tous j'éspère que vous développez toujours aussi bien

J'ai un petit problème :
J'aimerais envoyer un mail à plusieurs adresses emails en même temps.
Pour cela j'ai crée une listbox qui comporte toutes les adresses emails.
J'ai ensuite mis ce code :
Dim z As Integer, supp As Integer, lesitems As String
        For z = 0 To (ListBox2.Items.Count - 1)
            lesitems = lesitems & ListBox2.Items.Item(z) & ","
            supp = supp + 1
        Next
        Dim addr() As String = Split(lesitems, ",")
        Dim i As Byte
        For i = 0 To addr.Length - 1
            mail.To.Add(addr(i))
        Next


Et cela ne marche pas j'ai un msg qui me dit que le paramettre addresses ne peut pas être une chaine vide.

Evidemment pour créer le code ci-dessus j'ai passé 3h et c'est ce que j'ai trouvé de mieux donc si c'est n'importe quoi c'est tout à fait normal ;)

Merci pour votre aide

A+
Ma LV2 c'est le Visual Basic, et toi ?

6 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
30
Essaye de cette façon pour voir ?

For Each Item As String In ListBox2.Items
    mail.To.Add(New Net.MailAdress(Item))
Next


C'est étrange car la fonction est pourtant surchargé String, téhoriquement on peut lui refiler une adresse texte...

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
30
Ah ben tiens, lol

Pourquoi deux boucles ?

For i = 0 To (ListBox2.Items.Count - 1)
    mail.To.Add(ListBox2.Items(i).ToString)
Next


Autre chose :

Et cela ne marche pas j'ai un msg qui me dit que le paramettre addresses ne peut pas être une chaine vide.


Le paramètre adresse ? Et non le paramètre 'To' ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
Salut salut,

J'ai mis deux boucles parce que j'ai l'impression que
For i = 0 To addr.Length - 1
            mail.To.Add(addr(i))
        Next

ne peut pas fonctionner tout le seul si on ne renseigne pas plus.

Peut être qu'une seule fonctionne mais faudrait ajouter un petit quelque chose...

Le message d'erreur est claire :
le paramettre addresses ne peut pas être une chaine vide.


Ca me fais marrer (et plaisir) que tu m'aide avec ce code car une fois résolu il servira à terminer un programme qui t'es destiné

Ma LV2 c'est le Visual Basic, et toi ?
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
30
Ah bon lol, un cadeau, j'aime bien =)

Pour le projet :

A mon avis il s'agit d'un élément vide dans le listbox, fait un check en mettant des points d'ârret sur la boucle, normalement si j'ai raison, le problème survient en fin de boucle. Tu peux aussi (plus simple) cliquer plus bas que le dernier élément de ta liste pour voir s'il en existe un vide.

Voila, tiens moi au ju.

PS: j'ai bien lu ton dernier MP mais j'ai pas vraiment eu le temps de répondre.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
Ouai j'ai testé en mettant des points d'arrêt et ca bug toujours ici
mail.To.Add(addr(i))


Les items de la listbox ne sont pas vide car j'ai mis un compteur d'item qui n'affiche pas 0.
Moi je pense qu'il sagit d'un problème de code qui foire la récupération des emails et leurs "déplacement" dans mail.To.Add(addr(i)).

Tu pense pas qu'y a un code tout con qui puisse remplacer le mien ?

A+

Ma LV2 c'est le Visual Basic, et toi ?
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Statut
Membre
Dernière intervention
16 mars 2011
1
 For Each Item As String In ListBox2.Items
            mail.To.Add(New Net.Mail.MailAddress(Item))
        Next


Merci ca marche très bien
Maintenant le cadeau est terminé mais faut que tu répondes à mon mail pour l'avoir.

hé hé ...


Ma LV2 c'est le Visual Basic, et toi ?