Envoyer un mail avec pièce jointe CDO

helion27 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
helion27 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà j'ai une soucis j'ai suivi le code du liens https://www.commentcamarche.net/faq/36411-vb6-vba-envoi-mail-avec-l-objet-cdo

Cependant une message d'erreur apparaît sur
.Send

Une fenêtre affiche Le transport a échoué dans sa connections au serveur.
J'ai pourtant bien configuré le serveur STMP.
Merci d'avance!

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    J'ai pourtant bien configuré le serveur STMP. C'est sans doute le "bien" qui est de trop.
    Selon le smtp que tu utilises il faut que les paramètres soient parfaitement adaptés.
    Par exemple, si tu utilises le smtp xxxx pour envoyer un message de gmail à laposte, aucun souci mais si tu veux envoyer un message de laposte à laposte, il te faut utiliser smtp.laposte.net en sécurisé sinon cela ne fonctionnera pas.
    Il y a plein d'autres cas du même genre, mais sinon le lien que tu signales est parfaitement opérationnel et fonctionne parfaitement.
    0
    1. helion27
       
      Merci de ta réponse mais après avoir vérifié plusieurs fois je ne vois pas où est mon erreur.
      Sub DEMO_EnvoiMailCDO()
      Dim mMessage As Object
      Dim mConfig As Object
      Dim mChps



      Set mConfig = CreateObject("CDO.Configuration")

      mConfig.Load -1
      Set mChps = mConfig.Fields
      With mChps
      .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "serveur"
      .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
      .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = "1"
      .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "adresse@"
      .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mdp"
      .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = "false"
      .Update
      End With

      Set mMessage = CreateObject("CDO.Message")
      With mMessage
      Set .Configuration = mConfig
      .From = adresse@"
      .to = "adresse2@"
      .Subject = "Le sujet du mail" & Now
      .TextBody = "Ce mail vous est envoyer pour tester la macros "
      .AddAttachment "C:\Users\toto\Documents\yo.pdf"
      .Send

      End With

      Set mMessage = Nothing
      Set mConfig = Nothing
      Set mChps = Nothing
      End Sub
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      Tu n'as pas compris ma remarque : je ne t'ai pas dit que ce n'était pas bien codé mais que les valeurs envoyées doivent être conformes à l'attente du serveur smtp.

      "serveur" n'est pas un serveur smtp, il faut avoir le bon paramètre dont tu as ici la liste, et idem pour "adresse@" et "mdp".
      Comme tu mets 587 en port cela limite ton choix à 2 ou 3 serveurs.
      0
    3. helion27 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
       
      Ok d'accord merci pour ta réponse j'ai réussi à le faire marcher
      Bonne journée !
      0