Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VB.NET,ENVOIE DE MAIL PAR SMTP AVEC AUTHENTIFICATION


Information sur la source

Catégorie :Réseau & Internet Source .NET ( DotNet ) Niveau : Débutant Date de création : 05/01/2005 Date de mise à jour : 05/01/2005 17:06:18 Vu : 18 954

Note :
5,5 / 10 - par 4 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

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

  • '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
'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

Historique

05 janvier 2005 17:06:19 :
modif des commentaires

Commentaires et avis

signaler à un administrateur
Commentaire de hvb le 05/01/2005 22:20:17

"Impossible d'accéder à l'objet 'CDO.Message'
sur free.fr, avec le compte correspondant à l'addresse d'envoi.
Pourquoi vouloir se loguer pour envoyer un mail alors qu'on y est pas obligé?

signaler à un administrateur
Commentaire de lijohann le 06/01/2005 11:04:47

sur certains servers tu es obligé de te loguer.

signaler à un administrateur
Commentaire de hvb le 06/01/2005 12:13:57

oui, mais tu n'es pas obligé de passer par un serveur specifique pour l'envoie.
Il n'y a que la reception qui requiert specialement une athetification.
Exemple: tu as une addresse @free.fr et ton Fournisseurs d'accés internet c'est wanadoo, si tu envoie ton mail de toi@free.fr en passant par le serveur smtp.wanadoo.fr, le mail s'envoie sans probleme.
De plus comme je l'ai dit au dessus, ta methode ne marche pas avec ma configuration : "addresse chez free.fr et FAI : chello.fr".

Moi je cherche actuellement un code permettant de detecter ton provider et ainsi de definir automatiquement le serveur smtp. Je mettrais ma source à jour des que j'aurais un moyen correct (pour l'instant je le deduis par le hostname, mais ça marche au taf avec wanadoo, mais pas chez moi avec chello.fr. la resolution de noms ne se fait pas).

signaler à un administrateur
Commentaire de monsieurto le 11/02/2005 18:05:37

merci enfin un code simple qui fonctionne !
je suis un méga débutant en vb.net

pour les serveurs c'est suivant le fai

smtp free => tuyau adsl free
sinon impossible de poster

ou tu t'installes ton smtp sur ta machine


m'enfin déjà ça marche chez moi en interne
trop bien !!

signaler à un administrateur
Commentaire de jimimati le 10/02/2006 10:03:36

bonjour,

j'ai fait un code ressemblant au votre mais en utilisant la classe System.Net.Mail .
j'ai essayé aussi votre code et j'ai un problème sur les 2:
je ne sais pas a quoi correspondent le login et le mot de passe!!!

ma messagerie outlook est connecté a un reseau d'entreprise celui-ci connecté a internet. le login et le mot de passe serait-il ceux de ma session???

merci d'avance

signaler à un administrateur
Commentaire de mstaub le 16/04/2006 22:16:53

Salut,
(pour jimimati)
Je me trompe peut être mais le smtp dans une entreprise en reseau est
en générale juste l'adresse IP et le port de sortie (25) du serveur
essaye !
@+

signaler à un administrateur
Commentaire de mvery le 27/10/2006 11:58:07

Slt,

je voudrais utiliser cette source avec vb6. est possible?

J'aurais besoins de changer le port du serveur smtp en 465. comment faire?

merci par avance,

signaler à un administrateur
Commentaire de alaa_85 le 17/11/2006 02:58:39

Slt,
j'ai trouvé un prb :
email.from = "alaa26785@yahoo.fr" // il me donne ke le type string ne peut pas etre convertir en
System.net.mail

je sé pk !!!

signaler à un administrateur
Commentaire de alaa_85 le 17/11/2006 02:59:50

Svp j'ai besoin d'aide

signaler à un administrateur
Commentaire de abdelio00700 le 06/03/2007 12:32:38

J'ai un code identique au tien au niveau de mon application.Au début tout marchait très bien sur mon pc jusqu'au jour ou j'ai voulu présenter mon application devant le prof ... j'ai eu ce fameux message d'erreur :
[ impossible d'accéder à l'objet 'cdo.message']
j'ai fais l'import system.web.mail , supprimé et rajouté à nouveau la référence system.web.dll mais rien n'est changé.
je ne sais pas d'ou cela peut venir !!!

signaler à un administrateur
Commentaire de hvb le 06/03/2007 12:44:47

ABDELIO00700 : c'est un probleme soit :
_d'addresse d'expediteur non valide
_d'addresse de recepteur non valide
_de serveur smtp non valide
_d'authentification sur le serveur smtp (mauvais login ou mdp)

Au passage, system.web est maintenant obsolète :
http://www.vbfrance.com/codes/ENVOYER-MAIL-GERE-FICHIERS-JOINTS-HTML-VB-NET_5341.aspx

signaler à un administrateur
Commentaire de abdelio00700 le 06/03/2007 16:11:38

HVB : tout dabor merci pour l'interet que tu portes à mon messages.
j'ai vérifié tous les paramètres que tu as cité , mais toujours le mème problème sur le poste de l'école.
Quand je rentre chez moi ça marche nikel !!!!
Dans la salle des cours nous avons accès à internet par wifi , est ce que cela peut-il influencé l'execution de l'envoi des emails ?

signaler à un administrateur
Commentaire de hvb le 06/03/2007 23:03:16

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 ^^

signaler à un administrateur
Commentaire de yann_69330 le 17/04/2007 11:36:58

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

signaler à un administrateur
Commentaire de PhiberOptik le 27/05/2008 23:16:04

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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.