Microsoft 365 Résolu (au moins pour l'instant) - VBA envoi mail CDO Gmail ne fonctionne plus

ERIC S

XLDnaute Barbatruc
Bonjour à tous

j'utilise de temps en temps un code pour envoyer des mails à partir d'Excel, via gmail (à une liste de destinataires, avec ou sans fichier joint).

Aujourd'hui, j'en ai eu besoin mais à priori il ne fonctionne plus, cadeau de google je pense ... sur les applications "moins sécurisées"

Message : n'a pas pu être envoyé vers serveur smtp ...

une explication ou confirmation ? une solution de contournement ?

C'est pour un client qui n'utilise pas outlook ... donc gmail obligatoire

Merci d'avance
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    119.1 KB · Affichages: 50
Dernière édition:
Solution
Bonjour,

D'après Google, la fonction est désactivée automatiquement si peu utilisée.
Comme tu précises que l'usage est ponctuel, il faut sans doute vérifier.
gmail.PNG

Oca

XLDnaute Junior
Tu pourrais m'indiquer la marche à suivre et le code utilisé pour l'envoi de mail via gmail ?
J'ai, sur une feuille, un tableau croisé dynamique qui récapitule les produits d'un client et je souhaiterais pouvoir, via un bouton par exemple, lui adresser la feuille en pdf par mail (en sachant que son mail est présent sur cette feuille). Je souhaite utiliser Gmail pour ça.
 

ERIC S

XLDnaute Barbatruc
Bonjour

merci pour ta réponse
j'avais tenté cette manip avant de venir sur le forum et cela ne changeait rien.
j'ai même créé un autre compte gmail, avec le même soucis.
Le lendemain j'étais chez mon client qui lui n'avait pas le pb.

Hier j' ai repris mes manips et cela a fonctionné.
Peut-être que google bloque pendant 24h après son message initial ? (je suis en train de basculer ma chaine YouTube XLpourTPME depuis l'adresse initiale sur la nouvelle adresse et là clairement j'ai eu un message annonçant que la manip ne pouvait se faire qu'après un délai de 24h après l'enregistrement du nouveau propriétaire)
Donc "résolu" depuis hier soir, vaudou ou normal ? Ne reste plus qu'à attendre le prochain épisoge google.

A bientôt
 

ERIC S

XLDnaute Barbatruc
Re
Tu pourrais m'indiquer la marche à suivre et le code utilisé pour l'envoi de mail via gmail ?
J'ai, sur une feuille, un tableau croisé dynamique qui récapitule les produits d'un client et je souhaiterais pouvoir, via un bouton par exemple, lui adresser la feuille en pdf par mail (en sachant que son mail est présent sur cette feuille). Je souhaite utiliser Gmail pour ça.

C'est possible mais j'ai besoin d'en savoir plus :
- tu as un fichier à envoyer à envoyer à une seule adresse ? pourquoi ne pas le faire directement à partir de ta messagerie ?
- quelle messagerie as-tu sur ton pc ? y-a-tu rattaché ton compte gmail ?
 

Oca

XLDnaute Junior
  • En fait, chaque client va demander un récapitulatif des produits. Je voudrais pouvoir, à la demande, en appelant son n°_client ou son nom dans un filtre du TCD, afficher son récap. produits et pouvoir déclencher l'envoi de la feuille par mail (pour m'épargner une impression). Mon filtre est ok, l'affichage est ok, reste l'envoi de la feuille en pdf par mail.
  • pas de messagerie sur le pc, je passe par navigateur>gmail
 

ERIC S

XLDnaute Barbatruc
re
un essai, à adapter. pas optimisé.
Menu en Accueil
1 tu remplis configuration (clic sur icone à gauche) ton adresse mail et ton mot de passe
2 trame du mail tu remplis ou efface les cellules jaunes
3 tu fais un envoi test (il se fera à ta propre adresse, sans pièce jointe
4 liste diffusion : le tableau en jaune doit contenir la liste de tes clients, leur mail (le nom de fichier est le nom client.pdf, par formule). commence par tester avec ton adresse ou des adresses connues, tu peux laisser une des miennes si tu veux
5 le bouton raz colonne sert entre 2 essais car à chaque essai d'envois la colonne il indique ceux qui ont marché ou pas. Les ok ne sont pas réenvoyés cela permet de modifier une adresse mail ratée et de réenvoyer. par contre faire un raz pour nuvel envoi complet.
6 en réel, il faudra adapter à ta base et ton tcd, mon code fonctionnant avec mes onglets exemples
7 envoi mailing = balaie liste, crée un pdf dans le même répertoire et envoi le pdf

A suivre en fonction de tes tests
 

Pièces jointes

  • ExcelDownloads envoi pdf Gmail.xlsm
    373.3 KB · Affichages: 33

dysorthographie

XLDnaute Accro
Bonjour,
ceci dit si tu n'as pas envie de bricoler!
VB:
Sub test()
 MailEnvoi "smtp.googlemail.com", True, "My.Mail@gmail.com", "Pasw", 465, 10, "My.Mail@gmail.com", "Vous.Mail@gmail.com", "Copy@gmail.com", "Suivi des modifications.", "tel truc a été modifile", ""
End Sub
Public Sub MailEnvoi(Serveur, Identify, User, PassWord, Port, Delay, Expediteur, Dest, DestEnCopy, Objet, Body, Pj)
' sub pour envoyer les mails
Dim msg
Dim Conf
Dim Config
Dim ess
Dim splitPj
Dim IsplitPj
Set msg = CreateObject("CDO.Message") 'pour la configuration du message
Set Conf = CreateObject("CDO.Configuration") '  pour la configuration de l'envoi
Dim strHTML
 
Set Config = Conf.Fields
 
' Configuration des parametres d'envoi
'(SMTP - Identification - SSL - Password - Nom Utilisateur - Adresse messagerie)
With Config
If Identify = True Then
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = User
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = PassWord
End If
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = Port
    .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/smtpconnectiontimeout") = Delay
    .Update
 
End With
 
 
'Configuration du message
'If E_mail.Sign.Value = Checked Then Convert ServeurFrm.SignTXT, ServeurFrm.Text1
 
With msg
    Set .Configuration = Conf
    .To = Dest
  .cc = DestEnCopy
    .FROM = Expediteur
    .Subject = Objet
'
 
    .HTMLBody = Body '"<p align=""center""><font face=""Verdana"" size=""1"" color=""#9224FF""><b><br><font face=""Comic Sans MS"" size=""5"" color=""#FF0000""></b><i>" & body & "</i></font> " 'E_mail.ZThtml.Text
            If Pj <> "" Then
        splitPj = Split(Pj & ";", ";")
 
        For IsplitPj = 0 To UBound(splitPj)
            If Trim("" & splitPj(IsplitPj)) <> "" Then
                .AddAttachment Trim("" & splitPj(IsplitPj))
            End If
        Next
 
    End If
    .Send 'envoi du message
 
End With
' reinitialisation des variables
Set msg = Nothing
Set Conf = Nothing
Set Config = Nothing
 
End Sub
 

ERIC S

XLDnaute Barbatruc
RE
oui c'es une bonne base, que j'ai utilisée d'ailleurs (ou une cousine) …….

mais qui ne résout pas le pb de générer une liste de mails différents ;)
mon bricolage est une adaptation grossière d'une appli que j'ai faite pour un client (envoi de + 100 mails en auto, avec adaptation préalable de fichier excel)
je pense que cette fonctionnalité est moins facile à trouver sur le web, ou alors je regrette de ne pas être tombé dessus quand j'en avais besoin..
 

ERIC S

XLDnaute Barbatruc
Re dysorthographie

non car mon excursion sur le net m'a ramené systématiquement à l'aide google qui signale qu'officiellement google peut désactiver son option concernant l'autorisation d'applications moins sécurisées (celles qui n'utilisent pas OAuth 2 je crois), donc les accès type CDO en font partie).

comme perso je passe par Outlook … Les rares fois où je joue avec Gmail c'est à cause des clients
Si ça tient comme cela je ne vais pas m'énerver là dessus, j'ai des développements "autres" à faire en plus urgent.
 

Statistiques des forums

Discussions
312 182
Messages
2 086 002
Membres
103 084
dernier inscrit
Hervé30120