IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET] Envoi de mail


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut [VB.NET] Envoi de mail
    [VS.NET 2003]

    Salut à tous !

    Je me suis récemment penché sur l'envoi de mail à partir d'une appli VB.NET.
    J'ai vu que l'on pouvait utiliser des éléments de System.Web.Mail ;
    Le code que j'utilise est le suivant:

    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
     
     
           Try
                Dim Message As New System.Web.Mail.MailMessage
                Message.To = "mon_mail@laposte.net"
                Message.From = "mon_mail@laposte.net"
                Message.Subject = "TEST d'envoi"
                Message.Body = "Contenu du message."
     
                Try
                    System.Web.Mail.SmtpMail.SmtpServer = "smtp.laposte.net"
                    System.Web.Mail.SmtpMail.Send(Message)
                Catch ehttp As System.Web.HttpException
                    MsgBox(ehttp.Message & vbCrLf & ehttp.ToString())
                End Try
            Catch ex As IndexOutOfRangeException
                MsgBox(ex.Message)
            End Try
    Lorsque je parviens au Send, j'ai le message suivant:

    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
     
     
    Impossible d'accéder à l'objet 'CDO.Message'.	
    System.Web.HttpException: Impossible d'accéder à l'objet 'CDO.Message'. ---> System.Reflection.TargetInvocationException: Une exception a été levée par la cible d'un appel. ---> System.Runtime.InteropServices.COMException (0x8004020E): Le serveur a rejeté l'adresse de l'expéditeur. La réponse du serveur était*: 530 authentication required for mail submission
     
       --- Fin de la trace de la pile d'exception interne ---
       at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)
       at System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)
       at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
       at System.Web.Mail.LateBoundAccessHelper.CallMethod(Type type, Object obj, String methodName, Object[] args)
       at System.Web.Mail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args)
       --- Fin de la trace de la pile d'exception interne ---
       at System.Web.Mail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args)
       at System.Web.Mail.CdoSysHelper.Send(MailMessage message)
       at System.Web.Mail.SmtpMail.Send(MailMessage message)
       at Mail_Test.Form1.Button1_Click(Object sender, EventArgs e) in C:\Projets\Test\Mail_Test\Form1.vb:line 249
    En gros ça marche pas

    Cela vient peut-être des paramètres que je donne au message, mais je ne vois pas quoi...

    Quelqu'un a t il une idée siouplait ?
    D'avance merci !

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Tien avec le system.Net.Mail :
    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
    Public Sub CreateMessageWithAttachment(ByVal server As String, ByVal file As String, ByVal [From] As String, ByVal [To] As String, ByVal Texte As String, Optional ByVal CC As String = "", Optional ByVal Sujet As String = "")
            Try
                Dim message As New MailMessage([From], [To], Sujet, Texte)
                Dim data As New Attachment(file, Net.Mime.MediaTypeNames.Application.Octet)
                Dim disposition As Net.Mime.ContentDisposition = data.ContentDisposition
     
                With disposition
                    .CreationDate = System.IO.File.GetCreationTime(file)
                    .ModificationDate = System.IO.File.GetLastWriteTime(file)
                    .ReadDate = System.IO.File.GetLastAccessTime(file)
                End With
     
                message.Attachments.Add(data)
     
                Dim client As New SmtpClient(server)
     
                client.Credentials = Net.CredentialCache.DefaultNetworkCredentials
                client.Send(message)
            Catch ex As SmtpException
                'B_Send.Enabled = True
                MsgBox(ex.Message)
            End Try
        End Sub
    Ou alors avec le namespace System.Web.Mail :
    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
     Private Sub Envoi()
            Try
                Dim msg As Web.Mail.MailMessage = New Web.Mail.MailMessage
     
                msg.From = "AAAfdiedler2000@free.Fr"
                msg.To = "fdiedler2000@free.Fr"
                msg.Cc = "encoreatoi@free.fr"
                msg.Body = "Bonjour" & Convert.ToChar(10) & "" + "Ceci est le contenu du mail" & Convert.ToChar(10) & "" + "A bientôt"
                msg.Attachments.Add(New MailAttachment("C:\Test - & - Prog 1\Mail.txt", MailEncoding.UUEncode))
                SmtpMail.SmtpServer = "smtp.free.fr"
                SmtpMail.Send(msg)
     
                MsgBox("message envoyer")
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    Dans les deux cas le code marche...

    Bonne chance

  3. #3
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    J'ai repris ton code, merci Aspic, et j'ai adapté avec mes paramètres.
    J'ai essayé de changer de serveur smtp, en l'occurrence celui de yahoo, le message d'erreur reste globalement le même.
    De même, j'ai pris une adresse différente pour l'expéditeur (qui existe). J'ai même désactivé momentanement la protection mail de mon antivirus, mais rien n'y a fait.
    Je me demande si il y aurait alors un élément extérieur au code, qui bloquerait l'envoi et qui nécessiterait une authentification quelconque ?

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    T'es sur que c'est pas ton fournisseur qui plante ?? car avec moi ca amrche très bien !

  5. #5
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Alors j'ai mis le nom du serveur smtp de mon fourniseur. Et là, c'est déjà mieux. Je pensais pourtant que l'on pouvait utiliser n'importe quel nom de serveur smtp comme laposte ou yahoo... je suis un grand débutant en la matière !
    Cette fois le message à l'air de bien partir.
    Mais je ne l'ai pas encore vu arriver sur la boite mail visée. Je vais attendre encore en espérant qu'il ne se soit pas perdu entre deux routeurs facétieux.
    Je te tiens au courant !

  6. #6
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    Il est arrivé ! allez l'ouya ! heu non, Alleluia !
    Il fallait juste être patient... et c'était bien moi qui ne mettait pas le bon paramètre

    Merci Aspic pour ton aide et ta patience !

  7. #7
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par joefou
    Il est arrivé ! allez l'ouya ! heu non, Alleluia !
    Il fallait juste être patient... et c'était bien moi qui ne mettait pas le bon paramètre

    Merci Aspic pour ton aide et ta patience !
    Lol et oui faut faire gaffe car certains fournisseurs requiere meme une authentification ce qui n'est pas le cas de Free (mon fournisseur) ==> pas de problème

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Envoi de mails - smtpserver
    Par hbhhhbhh dans le forum VB.NET
    Réponses: 6
    Dernier message: 11/12/2009, 20h08
  2. [VB.NET] : Envoi de mail + authentification serveur
    Par forsay1 dans le forum VB.NET
    Réponses: 9
    Dernier message: 09/05/2009, 16h10
  3. [VB.NET]Envoi de mail
    Par JauB dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/06/2006, 12h38
  4. [VB.NET] Envoie de mail par outlook
    Par olbi dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/04/2006, 18h03
  5. [VB.Net] Envoi de mail
    Par Fab62_ dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/02/2006, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo