Envoi mail en VBA sans outlook

Bonjour

J'utilisais le code suivant pour envoyer des mails en VBA,via gmail, il fallait dans les parametres Gmail se créer un mot de passe pour application, cela fonctionnait bien mais à présent ce code ne marche plus. Je me suis créé un email sur free car on m'a dit que ça fonctionnait sur free, mais sans succès. Pourriez vous m'aider ? merci (je ne veut pas utiliser outlook)

Sub EnvoiMail()
    'Ajout référence  Microsoft CDO WINDOWS FOR 2000

    Dim cdo_msg As New CDO.Message

    'configuration message
    cdo_msg.Configuration.Fields(cdoSMTPServer) = "smtp.gmail.com"
    cdo_msg.Configuration.Fields(cdoSMTPConnectionTimeout) = 60
    cdo_msg.Configuration.Fields(cdoSendUsingMethod) = cdoSendUsingPort
    cdo_msg.Configuration.Fields(cdoSMTPServerPort) = 465
    cdo_msg.Configuration.Fields(cdoSMTPAuthenticate) = cdoBasic
    cdo_msg.Configuration.Fields(cdoSMTPUseSSL) = 1
    cdo_msg.Configuration.Fields(cdoSendUserName) = "mon adresse mail"
    cdo_msg.Configuration.Fields(cdoSendPassword) = "mon mot de passe"
    cdo_msg.Configuration.Fields.Update

    cdo_msg.To = "adresse du destinataire"
    cdo_msg.From = "adresse de l'expéditeur"
    cdo_msg.Subject = "Objet"
    cdo_msg.HTMLBody = "contenu mail"

 cdo_msg.Send

    'libération objet message
     Set cdo_msg = Nothing

End Sub

Bonjour,

Cela provient du renforcement de la sécurité des comptes Google.

La seule solution est de créer un mot de passe d'application et d'utiliser ce dernier en lieu et place de celui de votre compte. (Voir Sécurité et Validation en 2 étapes)

Bonjour, merci pour la réponse. C'est exactement ce que j'ai fait, ça marchait pendant un temps et cela ne marche plus depuis au moins plusieurs mois

Curieux. Je viens de retester et cela fonctionne toujours chez moi.

1- je mettrai plutôt

cdo_msg.Configuration.Fields(cdoSMTPUseSSL) = True

2- le mot de passe d'application est généré pour un appareil donné. il n'est peut être plus valable si vous avez changé de PC. Vérifier les applications tierces ayant accès à votre compte. Chez moi, j'ai : Microsoft apps & services ---> Droits d'accès accordés : Gmail.

Essayez de générer un nouveau mot de passe d'application : application = messagerie et appareil = ordinateur Windows.

J'ai mis true à la place de 1 et changé le mot de passe d'application en prenant bien application = messagerie et appareil = ordinateur Windows. ça ne marche toujours pas.

Est ce bien dans les paramètres de gmail que je dois trouver ceci ? : Microsoft apps & services ---> Droits d'accès accordés : Gmail

Je ne trouve pas Microsoft apps & services, où je peux trouver ce paramètre ? Merci d'avance

Je ne trouve pas Microsoft apps & services, où je peux trouver ce paramètre ?

compte --> sécurité --> applications tierces ayant accès à votre compte

Je me suis bien rendu ici, je vois un certain nombre d'applications mais je ne vois pas : Microsoft apps & services et ne vois pas comment le rajouter.

Ce qui me paraît bizarre c'est qu'avant, mon code fonctionnait bien avec le mot de passe pour application... je n'ai pas changé d'ordi.

mais je ne vois pas : Microsoft apps & services et ne vois pas comment le rajouter.

En y réféchissant, cette application a dû s'ajouter quand j'ai inséré des adresses Gmail dans mon Outlook Office. Je pense qu'elle est nécessaire pour le fonctionnement de CDO.

Mon probleme est justement que je ne veux pas passer par outlook car j'ai des probleme pour l'installer (pb de numero de série et de compte, incompréhensible...).

Du coup, essayer peut être d'insérer votre compte Gmail dans l'Outlook (non office) qui est directement intégré à Windows. Ce qui devrait ajouter Microsoft apps & services dans les applications tierces autorisées.

Quand j'ouvre outlook, on me demande d'activer en insérant mon numéro de série, (c'est là qu'il y un bug), sinon profiter gratuitement de microsoft365 pendant surement une durée d'essai seulement.

Qu'entendez vous par Outlook (non office) ?

Merci

Qu'entendez vous par Outlook (non office) ?

L'application courrier disponible dans le menu Démarrer.

OK merci, je l'ai fait, et effectivement j'ai bien vu l'option Microsoft apps & services dans les parametres de sécurité de Gmail.

J'ai changé de mot de passe pour applications plusieurs fois, mais c'est toujours un echec. J'ai toujours ce message " le transport a échoué dans sa connexion au serveur."

Je ne savais qu'il y avait ces 2 outlook, du coup quelle est la différence entre les 2 et maintenant que j'ai associé mon compte google à ce Outlook, existe t-il un code VBA pour envoyer un mail via ce Outlook ?

existe t-il un code VBA pour envoyer un mail via ce Outlook ?

Tout à fait, via Worksheet.MailEnvelope

ci-dessous exemple de code

        With feuille.MailEnvelope
            'Crée le corps du message avec insertion de sauts de ligne
            CorpsMessage = "Bonjour" & vbCrLf & vbCrLf _
                        & "Veuillez trouvez ci-joint les éléments concernés" & vbCrLf & vbCrLf _
                        & "Cordialement " & vbCrLf _
                        & "Prénom Nom " & vbCrLf
            .Introduction = CorpsMessage

            'Destinataires, objet et envoi
            With .Item
                .To = ""
                .CC = ""
                .BCC = ""
                .Subject = ""
            End With

J'ai changé de mot de passe pour applications plusieurs fois, mais c'est toujours un echec

Alors que ça marche chez moi. A mon avis, il faut voir si ce n'est pas bloqué par votre pare-feu ou antivirus.

J'avais aussi testé en désactivant l'anti virus, sans succes..
J'essaierai ce code la semaine prochaine, je pars en week end.

Merci infiniment pour votre aide

J'ai changé de mot de passe pour applications plusieurs fois, mais c'est toujours un echec

avez-vous vérifié dans la sécurité de votre compte Google, que la validation en 2 étapes est bien activée ?

J'ai essayé mon code initial sur un autre ordinateur, et effectivement il marche bien.

Par contre, de mon ordinateur de travail, cela ne marche pas même en désactivant le pare feu windows et l'antivirus (ça machait avant)... Auriez vous une explication ? merci

Rechercher des sujets similaires à "envoi mail vba outlook"