Vb.net,envoie de mail par smtp avec authentification

Soyez le premier à donner votre avis sur cette source.

Snippet vu 30 390 fois - Téléchargée 34 fois

Contenu du snippet

ue source que l'on retrouve plusieurs fois sauf que là vous avez l'autentification qui permet de ne pas avoir les erreur du type "cdo.message"

ce code necessite de rajouter system.web.dll dans les références du projet et imports system.web.mail comme premiere ligne de votre module

Source / Exemple :


'chez moi se declenche sur clic sur un bouton
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'objet mail
        Dim email As New MailMessage
        
'addresse de l'envoyeur
        email.From = "tintin@domaine.com"
'addresse de reception 
        email.To = "milou@domaine.com"
'sujet du message
        email.Subject = "salut"
'corps du message
        email.Body = "ou es tu milou?"
'addresse du server smtp
        SmtpMail.SmtpServer = "xxx.xxx.xxx.xxx"

'type d 'autentification (ds ce cas autentification de base)
        email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
'login de messagerie ( par exemple ds ce cas, monlogin pourrait etre "Tintin")
        email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", monlogin)
'pass de messagerie
        email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", monpassword)
'gestion d'erreur
        Try
            SmtpMail.Send(email)
            
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
24
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 janvier 2010

pour l'adresse smtp tu peut mettre soit l'ip soit l'adresse officielle de ton fournisseur.

donc pour gmail:
SmtpMail.SmtpServer = "smtp.gmail.com" 'de mémoire ça devrait être ca
Messages postés
91
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
23 juin 2009

Mon compilateur ne reconait pas :
MailMessage
SmtpMail

et que faut il mettre à : SmtpMail.SmtpServer = "xxx.xxx.xxx.xxx" si on passe par notre adresse gmail?

Merci d'avance
Messages postés
1
Date d'inscription
jeudi 13 décembre 2007
Statut
Membre
Dernière intervention
27 mai 2008

J'ai suivi toute la discussion, mais vraiment j'arrive pas á comprendre que voulez vous dire pas "monlogin" et "monpassword" dans les lignes:

email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", monlogin)
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", monpassword)

est ce que ceux sont le login et le mot de passe chez le FAI?
est ce que ceux sont le login et mot de passe chez hotmail? (dans le cas de hotmail)

merci pour l'eclaircissement
Messages postés
1
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
17 avril 2007

Bonjour,

J'ai une application qui doit envoyer un mail via un serveur smtp.
Je développe actuellement avec Visual Studio 2003

Je configure le mail de la façon suivante :

Dim monServeurSMTP As SmtpMail
Dim monMessage As New MailMessage

monMessage.From = TextBox2.Text
monMessage.To = TextBox3.Text
monMessage.Subject = TextBox_Titre.Text
monMessage.Body = TextBox_Message.Text
monMessage.BodyFormat = MailFormat.Text

monMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", user)
monMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password)
monMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
monMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", monServerSmtp)
TextBox1.Text)
monMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "25")
monMessage.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing","2")

monServeurSMTP.SmtpServer = monServerSmtp
monServeurSMTP.Send(monMessage)


J'ai systématiquement la même erreur: Impossible d'acceder à l'objet 'CDO.message'.

J'ai plus de solution.
Je veux juste envoyer un mail via un serveur SMTP, avec une authentification.

Merci pour votre aide
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
2
non le fait d'être connecté en wifi n'a rien a voir, mais chez toi tu met quoi comme serveur smtp? si c'est celui de ton F.A.I (genre tu es chez orange, et tu met smtp.orange.fr), c'est surement de la que vient le problème, ton ecole n'utilise surement pas orange, free ou autre fournisseur pour particulier.
Et si tu es sur que le smtp est bon, ou que tu utilise un serveur non open relay mais que tu t'authentifie, alors peut être que c'est simplement le port 25 qui est bloqué sur le firewall de ton école...
Si je n'ai toujours pas repondu à ta question, n'hesite pas à me contacter par message privé pour eviter de polluer les commentaires de cette source qui n'est pas la mienne ^^
Afficher les 17 commentaires

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.