Bonjour,
Je tente d'envoyer des mails avec la fonction smtpmail.send et j'aimerai vous faire part d'un problème que j'ai rencontré avec cette fonction: (voila mon code)
J'ai programmé une fonction qui envoi un mail lorsqu'on appui sur un bouton et qui affiche une messagebox lorsque l'envoi est effectué.
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
35
36
37
38
39 Function CreateMail(ByVal _Destinataire As String, ByVal _Objet As String, ByVal _Message As String, Optional ByVal _Pathjoint As String = "") As Boolean Dim email As New System.Web.Mail.MailMessage email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", nomuser) email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", passuser) SmtpMail.SmtpServer = ServeurExterne 'choix du smtp email.From = AdresseDp email.To = _Destinataire email.Subject = _Objet email.Body = _Message email.Priority = MailPriority.Normal Dim chemin() As String If _Pathjoint <> "" Then 'envoi des pieces jointes Try chemin = _Pathjoint.Split(";") Dim i As Integer For i = 0 To chemin.Length - 1 email.Attachments.Add(New MailAttachment(chemin(i))) Next Catch MsgBox("Echec de l'ajout de pièces jointes, envoi interrompu") Return False End Try End If Try SmtpMail.Send(email) msgbox("Mail envoyé") Return True Catch ex As Exception MsgBox(ex.Message & " Envoi interrompu") Return False End Try End Function
Le problème: lorsque l'exécution arrive à la ligne "SmtpMail.Send(email)", le programme commence a envoyer le mail et revient sur le formulaire du bouton et continu de tourner normalement et des que l'email est envoyé la msgbox apparait. Ainsi, alors que le premier mail n'est pas encore envoyé, l'utilisateur peut ré-appuyer sur le bouton, voir meme quitter le formulaire!
J'aimerai pouvoir freeze le programme le temps de l'envoi du mail.
Est ce que vous avez déjà rencontré ce problème?
Partager