Mail sous CDO VBA de Gmail vers tout type de mail

Bonjour,

Afin d’envoyer un mail depuis un fichier excel depuis VBA de Gmail vers une boite de réception qui peut être Gmail ou non, j’ai créé ce code en m’inspirant de plusieurs réponses de forum sur le sujet mais sans succès…

Est-ce que quelqu’un pourrais m’aider ? Un des paramètre doit être faux mais je ne maitrise pas vraiment CDO alors je suis bloquée.

Voici le code :

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("

.com/cdo/configuration/sendusing") = 2

.Item("

.com/cdo/configuration/smtpserver") = "smtp.gmail .com"

.Item("

.com/cdo/configuration/smtpserverport") = 587

.Item("

.com/cdo/configuration/smtpauthenticate") = "1"

.Item("

.com/cdo/configuration/sendusername") = "XXX@gmail .com" 'a modifier

.Item("

.com/cdo/configuration/sendpassword") = "XXX" 'a modifier

.Item("

.com/cdo/configuration/smtpusessl") = "false"

.Update

End With

Set mMessage = CreateObject("CDO.Message")

With mMessage

Set .Configuration = mConfig

.From = "XXX@gmail .com" 'a modifier

.To = mailtab

.subject = subject

.TextBody = bonjour & cumul & sign

.Send

End With

Set mMessage = Nothing

Set mConfig = Nothing

Set mChps = Nothing

"mailtab", "subject", "bonjour", "cumul" et "sign" sont des variables paramétré plus tot dans le code et sont correctes. J'ai également rajouté des espace entre les .com pour que le message soit accepté à l'envois.

Merci par avance à la bonne âme qui m’aidera à résoudre ce problème ^^

LiiB

Bonjour Liib et bienvenue,

as-tu essayé avec le port 465 ?

.Item("http://schemas.microsoft .com/cdo/configuration/smtpserverport") = 465

et aussi

.Item("http://schemas.microsoft .com/cdo/configuration/smtpusessl") = True

Bonjour,

Merci pour cette réponse et pour le petit mot de bienvenue

J'ai essayé avec le nouveau port, mais j'ai toujours un message d'erreur:

"Run-time error '-2147220973 (80040213)': The transport failed to connect to the server."

Et en changeant aussi le FALSE en TRUE du smtpusessl:

"Run-time error '-2147220975 (80040211)': The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available."

Mais c'est à la ligne avec le .Send que le code bloque. Aucune alerte avant...

Bonjour,

Essayer ce code :

Sub EnvoiMail()
    'Add the Project Reference 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) = True
    cdo_msg.Configuration.Fields(cdoSendUserName) = "xxxxxxxxxx@gmail.com"
    cdo_msg.Configuration.Fields(cdoSendPassword) = "ppppppppp"
    cdo_msg.Configuration.Fields.Update

    'remplissage et envoi message
    cdo_msg.To = "adresse1"
    cdo_msg.From = "adresse2"
    cdo_msg.Subject = "filename Sent to www.???.com "
    cdo_msg.TextBody = "File FTP LOG ATTACHED."
    cdo_msg.AddAttachment ("C:\Users\nnnnnn\Documents\classeur1.xls")
    cdo_msg.Send

    'libération objet message
    Set cdo_msg = Nothing
End Sub

Bonjour,

J'ai toujours le même message d'erreur

Nous somme d'accord que dans ce code pour adapter à mon besoin les lignes suivantes sont à modifier avec mes variables:

cdo_msg.Configuration.Fields(cdoSendUserName) = "xxxxxxxxxx@gmail .com"
  cdo_msg.Configuration.Fields(cdoSendPassword) = "ppppppppp"
 cdo_msg. To = "adresse1"
 cdo_msg.From = "adresse2"
 cdo_msg.Subject = "filename Sent to www.???.com "
  cdo_msg.TextBody = "File FTP LOG ATTACHED."

L'erreur pourrais venir de là? Je n'ai pas de pièce jointe dans le mail, mais les destinataires et contenu des mails varient en fonction d'un if plus haut dans la macro.

Merci par avance

LiiB

re,

as-tu coché la référence Microsoft CDO WINDOWS FOR 2000 ?

reference microsoft cdo windows for 2000

Oui c'etait fait malheureusement ce n'est pas ça

Bonjour,

Ce code fonctionnait à l'époque mais Google a renforcé sa sécurité.

Après test, j'ai reçu ce message sur le compte émetteur :

"Quelqu'un vient d'utiliser votre mot de passe pour essayer de se connecter à votre compte à partir d'une application n'appartenant pas à Google. Nous avons bloqué cette personne, mais nous vous conseillons de vérifier ce qui s'est passé. Examinez l'activité de votre compte pour vous assurer que personne d'autre n'y a accès."

Bonjour à tous ...

Il faut aller dans sa messagerie gmail,

Tentative de connexion bloquée

puis

Consulter activité

et répondre

C'était moi !

puis

Vous pouvez désactiver l'accès pour ces applications (recommandé) ou l'activer si vous voulez les utiliser malgré les risques encourus.

et enfin

en sa voir plus ...

Oui c'est un peu blindé aujourd'hui

Bonjour,

Merci Steelson! J'avais finis paar recevoir l'autorisation google mais je n'avais pas été dans le "En savoir plus" pour la deuxième validation et c'est ça qui manquait. Maintenant ça marche

Rechercher des sujets similaires à "mail cdo vba gmail tout type"