1 pièce(s) jointe(s)
Excel VBA / W10 : Envoyer des emails via SMTP
Bonjour à tous.
Je sais que le sujet a été évoqué quelques fois sur le site, mais je n'ai pas trouvé de solution.
Voici mon souci.
Depuis plusieurs années, en vba / Excel, nous envoyons des emails avec le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
WMessage1 = "Envoi du mail à " + P_Destinataire
WMessage2 = ""
WMessage3 = ""
WDestinataire = P_Destinataire
Set WCdoMessage = CreateObject("CDO.Message")
With WCdoMessage
.From = WFrom
.To = WDestinataire
.Subject = P_Objet
.TextBody = P_Corps
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = WUser
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = WMdp
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = WServeurSMTP 'adresse IP du serveur SMTP smtp.xxxx.xxxx
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = WPort '587
.Configuration.Fields.Update
.AddAttachment (P_Fichier)
.Send
End With |
Ce code fonctionne parfaitement depuis, donc, très longtemps.
Je viens d'apprendre qu'il fallait que je change le serveur SMTP, dont on m'a donné les nouveaux paramètres avec une nouvelle adresse IP, startls 1.2 et toujours le port 587.
J'ai essayé plein de choses trouvées sur le net et surtout ici, mais rien n'a fonctionné.
Voici le dernier code utilisé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
WMessage1 = "Envoi du mail à " + P_Destinataire
WMessage2 = ""
WMessage3 = ""
Call Affiche_Message(G_NOM_APPLI_LONG, "NON", "SUITE", "OUI", WMessage1, WMessage2, WMessage3)
WDestinataire = P_Destinataire
Set WCdoMessage = CreateObject("CDO.Message")
With WCdoMessage
.From = WFrom
.To = WDestinataire
.Subject = P_Objet
.TextBody = P_Corps
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = WUser
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = WMdp
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = WServeurSMTP
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = WPort
' Les 3 lignes ajouitées...
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/tlsprotocol") = 1 '1 pour TLS 1.2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 'True pour SSL/TLS
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'...
.Configuration.Fields.Update
.AddAttachment (P_Fichier)
.Send
End With |
Mais bien, sur ça ne fonctionne pas, et j'ai toujours la même erreur :
Pièce jointe 664695
J'en appelle donc à vos lumière pour trouver une solution, car je suis vraiment dans le caca ;)
Merci d'avance.