Salut,
J'ai trouvé une classe qui envoi un mail via smpt que j'ai un peu modifié:
Je l'utilise ainci:
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
40
41
42 Public Class Mail Shared mSendingMailError As String Shared ReadOnly Property SendingMailError() As String Get Return mSendingMailError End Get End Property Shared Function Envoi(ByVal server As String, ByVal De As String, ByVal A As String, ByVal Sujet As String, ByVal Corps As String, ByVal Fichier As String, ByVal Utilisateur As String, ByVal MotDePasse As String, ByVal avecLogin As Boolean) 'On essaye, tres pratique en vb Try 'Creer un Message par surcharge avec De et A Dim message As Net.Mail.MailMessage = New Net.Mail.MailMessage(New Net.Mail.MailAddress(De), New Net.Mail.MailAddress(A)) message.Subject = Sujet 'Definir Sujet message.Body = Corps ' Definir corps If (Not (Fichier = String.Empty)) Then Dim data As Net.Mail.Attachment = New Net.Mail.Attachment(Fichier) 'Creer la piece jointe Dim disposition As Net.Mime.ContentDisposition = data.ContentDisposition 'Ajouter le Time Stamp du fichier disposition.CreationDate = System.IO.File.GetCreationTime(Fichier) ' 'Date de Création disposition.ModificationDate = System.IO.File.GetLastWriteTime(Fichier) ' 'Date de Dernière Modification disposition.ReadDate = System.IO.File.GetLastAccessTime(Fichier) ' 'Date de Dernièr Accès message.Attachments.Add(data) 'Ajoute la piece jointe au message End If Dim client As New Net.Mail.SmtpClient(server) 'Ouvrir la Connexion vers le serveur SMTP If avecLogin Then client.Credentials = New System.Net.NetworkCredential(Utilisateur, MotDePasse) 'Avec Login, soit... End If client.Send(message) 'On Envoie le Message Return True 'On Retourne Vrai comme résultat de la Fonction Catch ex As Exception mSendingMailError = ex.Message Return False 'On Retourne le message d'erreur comme résultat de la Fonction End Try End Function End Class
Cela plante l'application au niveau de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If (Mail.Envoi("smtp.gmail.com", "MonMail@gmail.com", "Destinataire@domaine.com", "Sujet", "Blablablablab", "c:\MonFichierJoint.txt", "", "", False)) Then MsgBox("Email envoyé.") Else MsgBox("Email non envoyé!" & vbCrLf & Mail.SendingMailError) End Ifde la classe Mail (l'application ne répond plus)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part client.Send(message)
J'ai essayer ainci:
mais pareil...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If (Mail.Envoi("smtp.gmail.com", "MonMail@gmail.com", "Destinataire@domaine.com", "Sujet", "Blablablablab", "c:\MonFichierJoint.txt", "MonMail@gmail.com", "MonMotDePasse", True)) Then MsgBox("Email envoyé.") Else MsgBox("Email non envoyé!" & vbCrLf & Mail.SendingMailError) End If
Une idée..?
Partager