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

Vos Contributions VBScript Discussion :

[FAQ] Envoi de mail en SMTP, CDO


Sujet :

Vos Contributions VBScript

  1. #1
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut [FAQ] Envoi de mail en SMTP, CDO
    Bonsoir, pour inaugurer ce nouveau sous-forum , j'aurai besoin de votre aide pour "tester" ce code adapter de la VB

    Q : Comment envoyer un mail en utilisant CDO...(SMTP)


    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
     
    Dim oCDO
     
    Set oCDO = CreateObject("CDO.Message")
    With oCdo
       With .Configuration.Fields ' Configuration "du compte mail SMTP"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.tele2.fr"
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = "587"
     
         '----- Dans le cas ou le serveur de mail (comme le mien) demande une authentification 
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "eu20012007"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "MonMotdePasse"
         '----------------
         .Update
    End With
      .From = "bbil@gmail.com"
      .to = "bbil@gmail.com"
      .Subject ="Essai de mail" & Now
      .TextBody ="Voici un petit message " & vbCrlf & "pour tester l'envoi de mail par CDO/VBScript"
      .Send
    End With
    commencer par adapter la première partie du code à votre configuration de mail ... dans mon cas .. tele2.. me réclame une authentification ...par login mot de passe et l'utilisation du port 587 habituellement le port c'est 25 si vous n'avez pas besoin d'authentification modifiez les lignes ...:

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    (...)
    With oCdo
       With .Configuration.Fields ' Configuration "du compte mail SMTP"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.wanadoo.fr"
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = "25"
         .Update
    End With
      .From = "bbil@wanadoo.fr"
      (...)
    d'avance pour vos commentaires...

  2. #2
    Membre régulier
    Avatar de mortalino
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Points : 116
    Points
    116
    Par défaut
    Salut bbil,

    beh j'ai voulu tester cela, mais j'éprouve une difficulté, j'ai eu une erreur (ligne surlignée : .Send), et j'ai le message suivant : Le transport a échoué dans sa connexion au serveur.

    J'utilise GMail, et j'ai paramétré comme suit :

    Code vb : 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
    Dim oCDO
     
    Set oCDO = CreateObject("CDO.Message")
    With oCDO
       With .Configuration.Fields ' Configuration "du compte mail SMTP"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = "587"
     
         '----- Dans le cas ou le serveur de mail (comme le mien) demande une authentification
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mortalino@gmail.com"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Mot De Passe"
         '----------------
         .Update
        End With
      .From = "mortalino@gmail.com"
      .to = "mortalino.nicolas@laposte.net"
      .Subject = "Essai de mail" & Now
      .TextBody = "Voici un petit message " & vbCrLf & "pour tester l'envoi de mail par CDO/VBScript"
      .Send
    End With

    J'ai même tenté de modifier le port du serveur smtp, de 587 à 465, mais rien n'y fait.

    Aurais-tu une idée ?
    Merci,
    @++

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Pour Gmail à priori il faudrai le port 465 ... et "une connexion ssl sécurisé"..


    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") ="true"
    PS: mortalino , juste une question tu utilise quel client mail habituellement..?

  4. #4
    Membre régulier
    Avatar de mortalino
    Inscrit en
    Janvier 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 72
    Points : 116
    Points
    116
    Par défaut
    Salut bbil,

    en fait je n'utilise aucun client mail, je vais directement dessus (gmail.com + laposte.net).

    C'est pour ça que j'ai pas besoin d'un logiciel qui me récupère tous mes mails, j'ai vite fait de les trier moi même.

    Sinon, pour en revenir à ton code proposé, même avec la ligne supplémentaire, (et changement de port), j'ai toujours la même erreur.
    Dommage, ça me semble très utile.
    Pour infos, je suis au travail, donc pas vb6, j'ai placé ton code dans un module VBA-E, d'office 2003 sur XP sp1.

    @++

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par mortalino
    ...
    Sinon, pour en revenir à ton code proposé, même avec la ligne supplémentaire, (et changement de port), j'ai toujours la même erreur.
    Dommage, ça me semble très utile.
    Pour infos, je suis au travail, donc pas vb6, j'ai placé ton code dans un module VBA-E, d'office 2003 sur XP sp1....
    le code proposé est du VBScript tu n'as pas besoin de VB6... sinon si "tu est au travail" cela dépend aussi de comment tu est connecté à l'internet ... .? tu passe surement à travers un proxy et c'est pas sur qu'il te laisse la voie libre....? avant de te battre avec ce code tu devrai voir si tu arrive à relever tes mails avec un client standard ... ( outlook...)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 65
    Points
    65
    Par défaut
    j'ai le meme type derreur alors que pourtant, outlock marche... que anda ?

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par MatMeuh
    j'ai le meme type derreur alors que pourtant, outlock marche... que anda ?
    pourrai-tu nous en dire plus sur ta config... ( serveur de mail ? connections internet..?. code utilisé..)


  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Points : 65
    Points
    65
    Par défaut
    hi

    j'ai tenté le smtp.orange.Fr

    sachant que la connexion est une connexion Orange, ADSL, 1 méga via livebox tout ce qui est de plus standard...


    pour les codes... je vois pas de quoi tu parles... si ce sont les lignes de code ou des codes/mot de passe ! en tout cas, pour les lignes de code, j'ai repris le standard du CDO ! et j'ai tenté à peu près toutes les variantes visibles sur le net ! mais désolé je ne serai pas sur le poste en question avant qq jours

    a++

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    juste une petite question,
    Je suis dans une entreprise qui a sont propre serveur de messagerie et qui n'a aucun acces sur le net sur son réseau.
    J'aimerais savoir si tous les codes propose ci-dessus sont correct pour un réseau local.
    merci

  10. #10
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bon je viens de tester mais j'ai eu une erreur.
    Tout est dans l'image jointes.
    Bine sur j'ai mis une adresse mail, j'ai juste fait en sorte qu'on ne la voye pas sur l'image
    Images attachées Images attachées  

  11. #11
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Cela marche
    Donc tu as maintenant un test positif

    voila cela donne ça :
    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
    Dim oCDO
     
    Set oCDO = CreateObject("CDO.Message")
    With oCdo
       With .Configuration.Fields ' Configuration "du compte mail SMTP"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "UnServeurMail"
          .Update
    End With
      .From = "toto.titi@tutu.org"
      .to = "tata.tete@tutu.org"
      .Subject ="Essai de mail" & Now
      .TextBody ="Voici un petit message " & vbCrlf & "pour tester l'envoi de mail par CDO/VBScript"
      .Send
    End With

  12. #12
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Salut bbil

    J'ai tester ton code, que j'ai paramétrer comme suit:
    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
    Dim oCDO
     
    Set oCDO = CreateObject("CDO.Message")
    With oCdo
       With .Configuration.Fields ' Configuration "du compte mail SMTP"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.free.fr"
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = "587"
     
         '----- Dans le cas ou le serveur de mail (comme le mien) demande une authentification 
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "monmail@gmail.com
         .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "monmotdepass"
         '----------------
         .Update
    End With
      .From = "bbil@gmail.com"
      .to = "bbil@gmail.com"
      .Subject ="Essai de mail" & Now
      .TextBody ="Voici un petit message " & vbCrlf & "pour tester l'envoi de mail par CDO/VBScript"
      .Send
    End With
    Me renvoi cette erreur:


    Mais je ne connait pas le port de free, quelqu'un le connait ?

  13. #13
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    pour ton erreur il te manque juste un " en fin de ta ligne 13...

    pour free ... et bien observe les paramétres de ton client de mail ..! ou rends-toi sur le site à free.. ( je sais pas si on as pas une fiche sur le sujet sur la rubrique Office/Outlook...)

  14. #14
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    J'ai mis le guillemet qu'il manquer, puis j'ai mi la ligne du port en commantaire et le script fonctionne parfaitement

    Merci bbil pour ce script.

    que sinfifi les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    et:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
    ?



    N'y aurait il pas moyen de faire un formulaire html et de remplire le mail avec ce formulaire ?

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    J'ai aussi le probleme de " Le transport a échoué dans sa connexion au serveur."
    Je suis au boulot j'envoi sur un serveur exchange 2007. J'ai le même code qui marche mais dans access et pas sous un vbs pourquoi ?.

    AS tu une idée de l'endroit ou cela ne marche pas ?

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Quelqu'un a une idée de comment modifier le script pour rajouter une piece jointe, genre un fichier de log ?

  17. #17
    Membre habitué
    Homme Profil pro
    Conseils, formations et assistance aux utilisateurs
    Inscrit en
    Septembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseils, formations et assistance aux utilisateurs

    Informations forums :
    Inscription : Septembre 2008
    Messages : 137
    Points : 129
    Points
    129
    Par défaut
    Hello,

    Je viens de tester. L'envoi de mail se passe bien. Voici les paramètres que j'ai dans mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
        .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="SMTP DE MON HEBERGEUR"
        .Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25
        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "adresse mail de mon compte"
        .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Mot de passe correspondant à l'adresse mail ci-dessus"

Discussions similaires

  1. Problème d'envoie de mail par SMTP
    Par yass dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/09/2008, 16h45
  2. [C#] Problème d'envoi de mail avec SMTP local
    Par bossun dans le forum ASP.NET
    Réponses: 10
    Dernier message: 27/02/2006, 11h04
  3. envoi de mail sans smtp
    Par fredo2009 dans le forum Modules
    Réponses: 5
    Dernier message: 09/01/2006, 18h20
  4. [Mail] Envoi de mail par SMTP ?
    Par Borami dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2006, 12h26
  5. envoi de mail, protocol SMTP langage C
    Par Heimdall dans le forum Développement
    Réponses: 2
    Dernier message: 23/05/2003, 11h22

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