Microsoft 365 Envoi de mails SANS Outlook

JP.B

XLDnaute Nouveau
Bonjour aux experts.

J'ai déjà lu les discussions sur ce sujet mais sans trouver la solution.

J'utilise des "noms" dans le VBA (voir avec Ctrl + f3) - mais si j'inscrit directement les info dans le VBA, le blocage est le même.
Le blocage est sur .Send -
J'ai écrit dans le module d'autres info.

Merci d'avance pour les réponses
JPB
 

Pièces jointes

  • Pb mail.xlsm
    37.3 KB · Affichages: 22

fanch55

XLDnaute Barbatruc
Nouvelle question : si je rème la ligne du pathword, ça provoque l'erreur habituelle.
Donc pourquoi faut-il forcément un pathword dans cette boucle ?
pathword ? je pense que c'est du Password dont tu parles .
Pas besoin de password si tu utilises le port 25 , mais il faut que le serveur SMTP soit celui du FAI qui te fournit l'accès à internet,( pas du tout conseillé question sécurité)
Par ailleurs, ne faut-il pas cocher (ou décocher) une info dans VBA / Outils / Références ...
Rien à cocher : l'appel à la bibliothèque CDO se fait en mode différé avec l'instruction CreateObject.
Mais j'ai bien lu aussi le message peu optimiste de Patrick ...
Le pb est que la structure pour laquelle je programme ne veut pas entendre parler d'Outlook pour des raisons de sécurité
Cdo : besoin de rien, juste une adresse de mail + password
Client de messagerie (outlook,gmail, etc ...) : besoin d'un compte associé à un utilisateur + installation du compte pour chaque utilisateur .

Question sécurité, les 2 sont au même niveau, non crypté de bout en bout, donc accès possible aux données véhiculées, sinon il faut passer par des clients cryptés payants .



Dernière version du Code :
VB:
Sub Mail_CDO()
Dim Cdo As Object
Const Schema = "http://schemas.microsoft.com/cdo/configuration/"

    Select Case True
        Case [Expéditeur] = ""
        Case [Password] = ""
        Case [Serveur] = ""
        Case [Port] = ""
        Case Else
            Set Cdo = CreateObject("CDO.Message")
                With Cdo
                    On Error Resume Next
                    With .Configuration.Fields
                        .Item(Schema & "smtpusessl") = True             ' <<-- transport SSL
                        .Item(Schema & "smtpauthenticate") = 1          ' <<-- cdoBasic
                        .Item(Schema & "sendusername") = [Expéditeur]
                        .Item(Schema & "sendpassword") = [Password]
                        .Item(Schema & "smtpserver") = [Serveur]
                        .Item(Schema & "smtpserverport") = [Port]
                        .Item(Schema & "sendusing") = 2                 ' <<-- cdoSendUsingPort
                        .Update
                    End With
                  
                    .From = [Expéditeur]
                    .to = [Destinataire]
                    .cc = [Expéditeur]
                
                    .Subject = [Objet]
                    .TextBody = [Txt]
                    .send
                    
                    MsgBox IIf(Err, Err.Description, "Mail accepté"), IIf(Err, vbCritical, vbInformation), [Serveur]
                                                    
                End With
            Set Cdo = Nothing
    End Select
    
End Sub
 

JP.B

XLDnaute Nouveau
pathword ? je pense que c'est du Password dont tu parles .
Pas besoin de password si tu utilises le port 25 , mais il faut que le serveur SMTP soit celui du FAI qui te fournit l'accès à internet,( pas du tout conseillé question sécurité)

Rien à cocher : l'appel à la bibliothèque CDO se fait en mode différé avec l'instruction CreateObject.

Cdo : besoin de rien, juste une adresse de mail + password
Client de messagerie (outlook,gmail, etc ...) : besoin d'un compte associé à un utilisateur + installation du compte pour chaque utilisateur .

Question sécurité, les 2 sont au même niveau, non crypté de bout en bout, donc accès possible aux données véhiculées, sinon il faut passer par des clients cryptés payants .



Dernière version du Code :
VB:
Sub Mail_CDO()
Dim Cdo As Object
Const Schema = "http://schemas.microsoft.com/cdo/configuration/"

    Select Case True
        Case [Expéditeur] = ""
        Case [Password] = ""
        Case [Serveur] = ""
        Case [Port] = ""
        Case Else
            Set Cdo = CreateObject("CDO.Message")
                With Cdo
                    On Error Resume Next
                    With .Configuration.Fields
                        .Item(Schema & "smtpusessl") = True             ' <<-- transport SSL
                        .Item(Schema & "smtpauthenticate") = 1          ' <<-- cdoBasic
                        .Item(Schema & "sendusername") = [Expéditeur]
                        .Item(Schema & "sendpassword") = [Password]
                        .Item(Schema & "smtpserver") = [Serveur]
                        .Item(Schema & "smtpserverport") = [Port]
                        .Item(Schema & "sendusing") = 2                 ' <<-- cdoSendUsingPort
                        .Update
                    End With
                 
                    .From = [Expéditeur]
                    .to = [Destinataire]
                    .cc = [Expéditeur]
               
                    .Subject = [Objet]
                    .TextBody = [Txt]
                    .send
                   
                    MsgBox IIf(Err, Err.Description, "Mail accepté"), IIf(Err, vbCritical, vbInformation), [Serveur]
                                                   
                End With
            Set Cdo = Nothing
    End Select
   
End Sub
Re bonjour
Ah oui ... belle boulette :mad:... (Pathword ... mais path veut dire chemin ;))
Merci pour les explications - ce nouveau champ commence à m'être familier maintenant.
Et merci pour le code - je viens de l'essayer ... et ça marche !
Je reviens vers toi si j'ai d'autres questions -
@ bientôt
JPB
 

JP.B

XLDnaute Nouveau
Re bonjour
Ah oui ... belle boulette :mad:... (Pathword ... mais path veut dire chemin ;))
Merci pour les explications - ce nouveau champ commence à m'être familier maintenant.
Et merci pour le code - je viens de l'essayer ... et ça marche !
Je reviens vers toi si j'ai d'autres questions -
@ bientôt
JPB
Bonjour Franch55

C'est la bouteille à encre o_O😥
Ton code marche si je conserve tous TES paramètres.
Si je mets mes données ça plante et ça boque complètement Excel que je dois fermer (sans toutefois utiliser le gestionnaire des tâches)
Voilà ce que j'ai fait sur ton dernier code
* Personnalisation de Expéditeur / Destinataire / Serveur
* Le port est à 25 comme conseillé
* j'ai rémé ces 2 lignes
Case [Password] = ""
.Item(Schema & "sendpassword") = [Password]

je joins le message d'erreur et la configuration de mon FAI sortant (25 remplaçant 465)
Où est la faille ???
Merci
JPB
 

Pièces jointes

  • Erreur.JPG
    Erreur.JPG
    15.2 KB · Affichages: 18
  • SMTP.JPG
    SMTP.JPG
    54 KB · Affichages: 18

patricktoulon

XLDnaute Barbatruc
Bonjour à tous les deux
Et oui!,,

En fait des qu' il y a eu une erreur ben c est fini cdo est en rade
Je ne sais plus comment vous le dire qu' il est fini, ratatiné,ralbat,mort,cuit :)
Je l'ai supprimé de mes apps depuis 3 ans déjà et pourtant je l ai toujours défendu contre Outlook
Mais là toute les bonnes choses ont une fin et pour lui c est le cas
Il ne sera plus jamais stable

Message envoyé de ma tablette
 

fanch55

XLDnaute Barbatruc
* Le port est à 25 comme conseillé
* j'ai rémé ces 2 lignes
Case [Password] = ""
.Item(Schema & "sendpassword") = [Password]

je joins le message d'erreur et la configuration de mon FAI sortant (25 remplaçant 465)
Où est la faille ???
Merci
JPB
Je n'ai jamais conseillé le port 25, bien au contraire .
Il faut passer par le 465 ou 587 si cela ne fonctionne pas .
Ce que tu m'as joint ne concerne pas ton FAI, cela concerne un compte de messagerie .

Le FAI, c'est la Box( ou plutôt celui qui te l'a fourni ) qui te permet d'accèder à l'extérieur et communiquer avec le réseau Internet .
 

JP.B

XLDnaute Nouveau
Je n'ai jamais conseillé le port 25, bien au contraire .
Il faut passer par le 465 ou 587 si cela ne fonctionne pas .
Ce que tu m'as joint ne concerne pas ton FAI, cela concerne un compte de messagerie .

Le FAI, c'est la Box( ou plutôt celui qui te l'a fourni ) qui te permet d'accèder à l'extérieur et communiquer avec le réseau Internet .
Bonjour Franch55
Merci pour ces nouvelles précisions.
J'ai des échecs quel que soit le port inscrit.
Si je comprends ta dernière phrase, le FAI se voit dans le suffixe du serveur c'est à dire smtp.laposte.net ou smtp.gmail.com
Je ne vois aucune autre ligne susceptible d'être modifiée !

Pour @patrick, j'ai bien lu ton avis mais comme le code du collègue fonctionne sur mon ordi donc j'aimerais bien comprendre et reproduire la même chose.
@ suivre
Cordialement
JPB
 

Discussions similaires

Réponses
2
Affichages
113

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG