Envoie E mail Automatique VB

Envoie E mail Automatique VB - VB/VBA/VBS - Programmation

Marsh Posté le 19-03-2011 à 12:59:45    

Bonjour à tous ,  
 
J'ai crée un programme qui permet d'envoyer à une même adresse mail un nombre X de pièce jointe  
Exemple : Je selectionne 10 fichiers le programme envoie 10 mails differents à une même adresse  
 avec à chaque fois une pièce jointe différente.  
 
Mon problème est que le programme envoie un premier mail avec la premiere pièce jointe puis il envoie le second mail avec la 1ère pièce jointe + la seconde etc...  
 
De plus , si je selectione uniquement 3 fichiers, le programme envoie 6 mails ??
 
Ci dessous mon code :  
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim MonEmail As New MailMessage
        Dim Monport As Integer = 587
        Dim MySMTPClient As New SmtpClient()
 
        Dim i As Integer
        Dim lavaleur As String
 
 
        For i = 0 To ListBox1.Items.Count - 1
            lavaleur = ""
            lavaleur = CStr(ListBox1.Items(i))
 
            MySMTPClient.Credentials = New System.Net.NetworkCredential("nom", "code" )
            MySMTPClient.Host = "smtp.exemple"
            MySMTPClient.Port = 25
            MonEmail.From = New MailAddress("adresse mail destination" )
            MonEmail.To.Add(New MailAddress("adresse mail destination" ))
            MonEmail.Body = "OK?"
            MonEmail.Priority = MailPriority.High
            MonEmail.Subject = "TEST GZ"
            MonEmail.Attachments.Add(New System.Net.Mail.Attachment(lavaleur))
            MySMTPClient.Send(MonEmail)
        Next
        MsgBox("E-Mail bien envoyé !", MsgBoxStyle.Information, "Envoi de l'E-Mail" )
    End Sub
 
 
Je vous remercie .


Message édité par kivis le 19-03-2011 à 13:03:35
Reply

Marsh Posté le 19-03-2011 à 12:59:45   

Reply

Marsh Posté le 19-03-2011 à 14:47:02    

Je me répond moi même il faut rajouter la ligne :  
 
MonEmail.Attachments.Clear()  
 
Cependant le programme continue à envoyé 6 mails même si je selectionne que 3 fichiers

Reply

Marsh Posté le 19-03-2011 à 15:06:04    

Personne pour m'aider ??? :(
 
Voici ce que je le programme fait :  
Je selectionne 3 fichiers et il envoie 6 emails .  
 
Voici ce que je cherche à faire :  
Je selectionne 3 fichiers et il devrait envoyer seulement 3 fichier.  
 

Reply

Marsh Posté le 22-03-2011 à 09:46:45    

Je ne vois pas où tu ne prends que les fichiers sélectionnés dans ta listbox.
 
 

Code :
  1. For i = 0 To ListBox1.Items.Count - 1
  2.             lavaleur = ""
  3.             lavaleur = CStr(ListBox1.Items(i))

Là tu prends tous les fichiers... Donc si tu as 6 fichiers dans ta listbox, il envoie 6 mails, logique.
Il faut donc tester quelle ligne est sélectionnée dans ta listbox
 
Un truc dans le genre pourrait le faire :

Code :
  1. For i = 0 To ListBox1.Items.Count - 1
  2.      If listBox1.selected(i) = true then
  3.             lavaleur = ""
  4.             lavaleur = CStr(ListBox1.Items(i))
  5.             'Le reste de ton code
  6.            
  7.      End if


 
Quant au fait que personne ne "t'aide", bah tu ne donnes que tres peu d'info. Notamment combien d'entrees dans ta liste (six ?) etc.


Message édité par SuppotDeSaTante le 22-03-2011 à 09:47:20

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed