Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Envoi de mail CDO compte GMail

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

danielco

XLDnaute Barbatruc
Bonjour,

Pouvez-vous me fournir un macro pour envoyer du courrier depuis un compte GMail ? Les exemples que je trouve sur internet ne fonctionnent pas.

Merci d'avance.

Daniel
 
Solution
Bonsoir
Désolé de plomber l'ambiance mais.....
CDO ne passe plus pour aucun proxy ni serveur (MÊME celui de votre FAI sans connections avec login et mot de passe)
Autant dire laisser tomber cette méthode
Personnellement, je l'ai utilisé pendant plus de 25 ans, je ne l'utilise plus depuis plusieurs années maintenant

thunderbird permet encore (si installer de macroter un mail en vba mais c'est pauvre

outlook marche encore tres avec certaines versions

Mais les dernières mises à jour W10 et 11 de novembre 2025 renvoient à l'application courrier de windows qui ouvre en fait OWA(Outlook web application)

Mais dans tous les cas CDO c'est mort et enterré selon moi
Hello,

voici le code
VB:
Sub Envoi_via_CDO(Destinataire, Sujet, Corps_Mail, Expediteur, PJ, Serveur_SMTP, Port_SMTP, Nom_Utilisateur, Mot_De_Passe)
' Utilisation :
' Destinataire = adresse mail du destinataire
' Sujet = sujet du mail que verra le destinataire
' Corps_Mail = contenu du mail que verra le destinataire
' Expediteur = adresse mail de l'expéditeur
' PJ = chemin complet de la pièce jointe (peut rester vide)
'
' Serveur_SMTP : nom complet du serveur SMTP de la connexion active (ex : smtp.free.fr si le FAI actuel est Free)
' Port_SMTP : port utilisé pour l'envoi (généralement 465 si SSL/TLS)
' Nom_Utilisateur : nom seul du compte utilisateur de la BàL utilisé pour l'envoi (ex : si "toto@free.fr", utiliser "toto")
' Mot_De_Passe : mot de passe du compte utilisateur de la BàL utilisé pour l'envoi

    Set Message = CreateObject("cdo.Message")

    ' configuration de la messagerie
    With Message.Configuration.Fields
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Serveur_SMTP
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port_SMTP
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = Nom_Utilisateur
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = Mot_De_Passe
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
        
        .Update
    End With

    ' configuration du message
    With Message
        .To = Destinataire
        .Subject = Sujet
        .TextBody = Corps_Mail
        .BodyPart.Charset = "UTF-8"
        .From = Expediteur

        If Len(PJ) > 0 Then .AddAttachment (PJ)

        .Send
    End With

    Set Message = Nothing

    MsgBox "Message envoyé... ou pas :-D"

End Sub

et le fichier pour tester
 

Pièces jointes

Ben oui, comme dit comme dit Gégé-45550, si les infos sont bidons ça ne fonctionnera pas
elle va marcher beaucoup moins bien (...la macro)
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.

j'avais pourtant écris
' Utilisation :
' Destinataire = adresse mail du destinataire
' Sujet = sujet du mail que verra le destinataire
' Corps_Mail = contenu du mail que verra le destinataire
' Expediteur = adresse mail de l'expéditeur
' PJ = chemin complet de la pièce jointe (peut rester vide)
'
' Serveur_SMTP : nom complet du serveur SMTP de la connexion active (ex : smtp.free.fr si le FAI actuel est Free)
' Port_SMTP : port utilisé pour l'envoi (généralement 465 si SSL/TLS)
' Nom_Utilisateur : nom seul du compte utilisateur de la BàL utilisé pour l'envoi (ex : si "toto@free.fr", utiliser "toto")
' Mot_De_Passe : mot de passe du compte utilisateur de la BàL utilisé pour l'envoi

Mais bon, je peux le mimer aussi 😉
 
bonsoir,
et oui Patrick écoute tes petits amis et nesai pas de te connecter sur le profil de Nain porte quoi. allons mon petit c'est pas sérieux 🤣

sérieusement comment pouvez-vous imaginer que Patrick est commis une telle erreur !
 
vous êtes sérieux les gars là ?
je sais pas si vous avez vu mais c'est free.fr autrement dit le serveur smtp de mon FAI
l’expéditeur peut être ce qu'on veux
c'est le mdp qui compte et correspondant au serveur smtp
de toute facon j'ai essayé avec mon id aussi et j'ai le même résultat
après on va pas épiloguer libre a vous de l'utiliser mais moi comme je vous ai dit je l'ai éliminé
et je conseille a qui conque veut bien l'entendre de faire de même

pour mon mailing je suis passé à l'authO2 depuis longtemps
 
Patrick, si je ne m'abuse vous passez par une connexion FreeMobile, et dans ce cas je ne sais pas si ça passe, moi j'utilise une connexion fibre Free et je n'ai aucune erreur.
Voici l'entête du mail reçu (sur Thunderbird) via la macro qui utilise CDO
Code:
Return-Path: <expéditeur@gmail.com>
Delivered-To: destinataire@mondomaine.fr
Received: from hetre.o2switch.net
    by hetre.o2switch.net with LMTP
    id KP3sH/P4Lmntii4AD8Cgqg
    (envelope-from <expéditeur@gmail.com>)
    for <destinataire@mondomaine.fr>; Tue, 02 Dec 2025 15:34:27 +0100
Return-path: <expéditeur@gmail.com>
Envelope-to: destinataire@mondomaine.fr
Delivery-date: Tue, 02 Dec 2025 15:34:27 +0100
Received: from smtp5-g21.free.fr ([212.27.42.5]:52822)
    by hetre.o2switch.net with esmtps  (TLS1.3) tls TLS_AES_256_GCM_SHA384
    (Exim 4.98.2)
    (envelope-from <expéditeur@gmail.com>)
    id 1vQRSR-0000000DA67-1vwl
    for destinataire@mondomaine.fr;
    Tue, 02 Dec 2025 15:34:27 +0100
Received: from monpc (unknown [monip])
    (Authenticated sender: Nom_Utilisateur@free.fr)
    by smtp5-g21.free.fr (Postfix) with ESMTPSA id CE71D60143
    for <destinataire@mondomaine.fr>; Tue,  2 Dec 2025 15:33:45 +0100 (CET)
Thread-Topic: Test plain text message - 1 attachment
thread-index: AdxjmLDgd5XWdN+VQ+mu78/U5Jsv0A==
From: <expéditeur@gmail.com>
To: <destinataire@mondomaine.fr>
Subject: Test plain text message - 1 attachment
Date: Tue, 2 Dec 2025 15:33:56 +0100
Message-ID: <16556C50486D4571BDBFB27D4A92FF29@monpc>
MIME-Version: 1.0
Content-Type: multipart/mixed;
    boundary="----=_NextPart_000_0000_01DC63A1.12B1F810"
X-Mailer: Microsoft CDO for Windows 2000
Content-Class: urn:content-classes:message
Importance: normal
Priority: normal
X-MimeOLE: Produced By Microsoft MimeOLE
X-Spam-Status: No, score=-42.3
X-Spam-Score: -422
X-Spam-Bar: ------------------------------------------
X-Spam-Flag: NO

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01DC63A1.12B1F810
Content-Type: text/plain;
    charset="UTF-8"
Content-Transfer-Encoding: 7bit

This is a test message to send a plain text email from Access with an attached file

J'ai regardé cet ancien code https://www.developpez.net/forums/d...l/contribuez/formulaire-mailers-piece-jointe/ qui semble être de vous, effectivement celui là est incomplet et ne fonctionne plus
 
Salut,
si patricktoulon est toujours en windows 10 (d'ailleurs je me demande pourquoi car cette version n'est plus maintenue) il faut vérifier ceci :
  • CDO (Collaboration Data Objects) est une vieille bibliothèque qui repose sur les API réseau de Windows (Schannel).
  • Sur Windows 10, TLS 1.2 n’est pas toujours activé par défaut pour les applications héritées comme CDO. Résultat : quand vous tentez d’envoyer un mail via smtp.office365.com (port 587, STARTTLS), la négociation échoue avec des erreurs du type « STARTTLS is required » ou « transport lost connection ».
  • Sur Windows 11, Microsoft a renforcé la sécurité et activé TLS 1.2/1.3 par défaut, ce qui permet à CDO de fonctionner sans modification.

⚙️ Solutions possibles sous Windows 10​

  1. Activer TLS 1.2 dans le registre Windows 10

  2. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
    "DisabledByDefault"=dword:00000000
    "Enabled"=dword:00000001

    Cela force Windows 10 à utiliser TLS 1.2 pour les clients hérités comme CDO.

Nullosse de passage
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
5
Affichages
401
D
  • Question Question
Réponses
5
Affichages
126
Didierpasdoué
D
Réponses
12
Affichages
487
Réponses
1
Affichages
399
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…