Envois de mail en vb.net [Résolu]

Messages postés
37
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
14 mars 2011
- - Dernière réponse :  Meryem - 25 juil. 2014 à 15:37
Bonjour,


je me suis servis du code ci-dessous et il fonctionnait jusqu'à ce que je modifie un peu le code et il à beugué.
j'ai donc remis le code d'origine voir ci-dessous mais cela ne veut pas refonctionné !
Aurrais-je fais une erreur dans le code ? (je suis sous visual basic express 2005)

le message d'erreur est :
Une exception de première chance de type 'System.Net.Mail.SmtpException' s'est produite dans System.dll

Merci de votre précieuse aide.


Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click


        Dim mail As New Net.Mail.MailMessage()

        'set the addresses 
        mail.From = New Net.Mail.MailAddress("xxxxx@xxx.xx")
        mail.To.Add("xxxxxx@xx.xx")

        'set the content 
        mail.Subject = "sujet de mail"
        mail.Body = "le body du mail."

        Dim client As New Net.Mail.SmtpClient("smtp.gmail.com")


        Try
            client.Send(mail)
            MsgBox("coucou ca va")
        Catch ex As Exception

            MsgBox("Echec de l'envoi")

        End Try

    End Sub


ps:ce code n'est pas de moi, je l'avais récupéré sur internet je ne sais plus ou :(
   Le site du spectacle.
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
540
Date d'inscription
mardi 4 août 2009
Dernière intervention
1 février 2013
3
Merci
Voici une petite fonction qui te permet d'envoyer des mails,les paramètres dans ce cas est pour un envoi à partir d'un compte hotmail,tu n'auras qu'à modifier le client smtp et le port selon que tu veux utiliser yahoo,...
    Public Function Mail(ByVal Destinateur As String, ByVal Destinataire As String, ByVal sujet As String, ByVal corps_du_message As String, ByVal mot_de_passe As String)
        Try
                      
            Dim mailClient As SmtpClient = New SmtpClient("smtp.live.com") ' smtp.mail.yahoo.fr
            mailClient.EnableSsl = True
            mailClient.Port = 587  
            mailClient.UseDefaultCredentials = True
            mailClient.Credentials = New System.Net.NetworkCredential(Destinateur, mot_de_passe) 

            'Préparation du message
            Dim Message As MailMessage = New MailMessage(Destinateur,Destinataire, sujet , corps_du_message)
            Message.IsBodyHtml = True 


            'envoi du message
            mailClient.Send(Message)

            Return MessageBox.Show("Message Envoyé!!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)

        Catch d As Exception
            MsgBox(d.Message, MsgBoxStyle.Critical)
        
        End Try

    End Function


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

merci NSUADI pour le Tuto, et si on veux ajouter des piéces jointes comment peut-on le faire ?
Commenter la réponse de NSUADI
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
12 mars 2011
3
Merci
Salut,
pour savoir d'où vient le problème,
il est souvent utiles de regarder
le message d'erreur, pour faire ce,
dans la partie Catch, au lieu de :
MsgBox("Echec de l'envoi")
met :
MsgBox("Echec de l'envoi, l'erreur est la suivante : " & ex.Message)
ex.Message renvoie des informations sur l'erreur
qui fait que le mail n'a pas été envoyé.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de raffika
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Dernière intervention
16 mars 2011
3
Merci
Salut, ton code est incomplet, met plutôt ca :
Dim client As New SmtpClient()
client.Credentials = New Net.NetworkCredential("mail@gmail.com", "password")
client.Port = 587
client.Host = "smtp.gmail.com"
client.EnableSsl = True

A la place de ca :
Dim client As New Net.Mail.SmtpClient("smtp.gmail.com")

Et met ton Try tout en haut du code.

A+

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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_aus3004
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
12 mars 2011
3
Merci
Le message d'erreur que tu aurai obtenu est :
Le serveur SMTP requiert une connexion sécurisée ou le client n'était pas authentifié. La réponse du serveur était : 5.5.1 Authentication Required. Learn more at
Et on peux remarquer que dans tu code,
jamais tu ne spécifie le mot de passe du
compte Gmail.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de raffika
Messages postés
269
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
12 mars 2011
3
Merci
ps : donc rajouter cette ligne après Dim client :
client.Credentials = New System.Net.NetworkCredential("moncompte@gmail.com", "monpass")

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de raffika
Messages postés
37
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
14 mars 2011
0
Merci
Super et merci à tous!

toute votre aide m'a permise de comprendre et et maintenant le code que j'ai fonctionne grâce au networkcredential! mais j'ai adopté l'option de la fonction que l'on peut appelé à partir de n'importe quelle partis du code (utile si on doit avoir plusieurs endroit dans son code qui envois un mail .)

Sinon juste une dernière question:
Est-il possible d'envoyer du text enrichi a la place d'une simple chaine de texte? (j'ai essayer de mettre richtext.text à la place d'une textbox.text et cela ne fonctionne pas ...)



   Le site du spectacle.
Commenter la réponse de alexandreillusion
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Dernière intervention
16 mars 2011
0
Merci
J'ai ouvert justement un sujet à propos de ca :
http://www.vbfrance.com/forum/sujet-ENVOYER-MAIL-CONSERVANT-STYLE-TEXTE_1461089.aspx

En faite c'est possible mais c'est super compliqué, faut créer une API.
Je pense même qu'on pourrait la vendre très chère...


Ma LV2 c'est le Visual Basic, et toi ?
Commenter la réponse de cs_aus3004
Messages postés
37
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
14 mars 2011
0
Merci
En fait c'est bon j'ai réussi en mettant :
mail.Body = richtext.text

Merci à vous tous !!!!!!!!!!!!!

   Le site du spectacle.
Commenter la réponse de alexandreillusion
Messages postés
319
Date d'inscription
jeudi 1 avril 2010
Dernière intervention
16 mars 2011
0
Merci
Mais ca marche pas, hein ?



Ma LV2 c'est le Visual Basic, et toi ?
Commenter la réponse de cs_aus3004
Messages postés
37
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
14 mars 2011
0
Merci
ok ok j'ai lu le lien que tu as mis !

j'ai aussi trouvé un code qui convertis du rtf en html sur : http://www.vbfrance.com/codes/CONVERTISSEUR-RTF-TO-HTML_40590.aspx

A voir mais pas maintenant. Pour l'instant mes client recevrons du texte non formaté et il ne s'en plaindrons pas !!!!!!! non mais ...

Je testerais plus tard.


Ps: mon message d'avant est out ...

merci à vous
   Le site du spectacle.
Commenter la réponse de alexandreillusion

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.