Bonsoir, voila mon soucis est assez étrange, j'ai une table mysql qui contient les adresses mail d'utilisateurs, et en parallèle je reçoit dans mon programme des noms et prénoms de personne, qui si il se trouve dans la base de données envoi un mail à la personne concerné, en code ça donne ceci :

dans la partie réception de données avec les nom, prénom qui apparaissent (je vous ai pas mis l'extraction des noms, prenoms):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Dim mail As String = mail_affecter(lenom) 'extrait le mail des personnes concernés
                        If mail <> "vide" Then
                           EnvoiMail(mail) 'envoi le mail
                        End If
ma fonction envoi_affectation() qui renvoi le mail d’après le nom est le prénom reçu :
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
21
22
23
24
 Function mail_affecter(ByVal identite As String)
        Dim nom_prenom As String = identite.Replace(" ", "")
        Dim destine_a As String = "vide"
        Dim SQL As String
        Dim myCommand As New MySqlCommand
        Dim myAdapter As New MySqlDataAdapter
        Dim myData As MySqlDataReader
        Try
            SQL = "SELECT mail FROM repertoire WHERE CONCAT(nom, prenom) = '" & nom_prenom & "'"
            myCommand.Connection = HostConn
            myCommand.CommandText = SQL
            myAdapter.SelectCommand = myCommand
            myData = myCommand.ExecuteReader()
            If myData.Read() = True Then
                destine_a = myData.GetString("mail")
                'MsgBox("Ok")
            Else
                destine_a = "vide"
            End If
            myData.Close()
        Catch myerror As MySqlException
        End Try
        Return destine_a
    End Function
et enfin ma fonction d'envoi de mail qui envoi le mail a la personne passé en paramètre :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub EnvoiMail(ByVal themail As String)
        log(Now.ToString + " " + "Envoi les mails passe en parametre a " + themail)
        Dim TheServer As String = My.Settings.smtp 'serveur smtp de la poste
 
        Dim Smtp As New SmtpClient(TheServer, 587) 'Simple Mail Transfer Protocol
        Dim EmailMessage As New MailMessage
        Try
            With EmailMessage
                .From = New MailAddress(My.Settings.mail_CIS)
                .To.Add(themail) 'prend en paramétre le mail de l'user
                .Subject = nature_op
                .Body = ticket_imprime 'le contenu du mail est le ticket de départ
            End With
        Catch ex As Exception
 
        End Try
 
        Try
            With Smtp
                .UseDefaultCredentials = False
                .DeliveryMethod = SmtpDeliveryMethod.Network
                .Timeout = 1
                If TheServer = My.Settings.smtp Then
                    .EnableSsl = False
                Else
                    .EnableSsl = True
                End If
 
                .Credentials = New Net.NetworkCredential(My.Settings.mail_CIS, My.Settings.mdp_smtp) 'De:Votre Email , Pass: password de l'Email
                .Send(EmailMessage)
            End With
        Catch ex As Exception
        End Try
    End Sub
Le code en soit ne pose pas de problème, car ça fonctionne bien, seulement pour la première personne trouvée,
c'est a dire que par exemple j'ai :
PIERRE DUPONT
ALAIN DURONS

Pourtant mon programme récupère bien les adresses mails des deux personnes, mais seulement le mail de la première personne sera envoyé (PIERRE DUPONT), pas la seconde !
Avec les points d’arrêt j'ai pu voir qu'il rentre pourtant dans la fonction EnvoiMail avec le mail de ALAIN DURONS, mais pas de mail envoyé !!!!

Auriez vous une idée ???