Le transport a échoué dans sa connexion au serveur

Fermé
abderrahim1234 Messages postés 6 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 11 décembre 2019 - Modifié le 11 déc. 2019 à 15:40
jordane45 Messages postés 38265 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 novembre 2024 - 11 déc. 2019 à 21:13
Bonjour,
Je fais une application en vba qui envoie du courrier depuis une application, ça me donne

Erreur d'exécution - 2147220973 (80040213) Le transport a échoué dans sa connexion au serveur.

Veuillez aider si quelqu'un connaît la solution s'il vous plait.

Sub send_Gmail()

Dim NewMail As CDO.Message
Dim mailConfiguration As CDO.Configuration
Dim fields As Variant
Dim msConfigURL As String

On Error GoTo errHandle

Set NewMail = New CDO.Message
Set mailConfiguration = New CDO.Configuration

mailConfiguration.Load -1

Set fields = mailConfiguration.fields

With NewMail
.Subject = "bonjour"
.From = "********.fr"
.To = "*****@*****.fr"
.CC = ""
.BCC = ""
.TextBody = "This is a test email."
.AddAttachment "C:\Users\MonImageExcel.jpg"
End With


With fields
.Item("http://schemas.microsoft.com/cdo/configuration/urlproxyserver") = "proxy.server:8080"
.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/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "****@**.fr"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "******"

.Update

End With

NewMail.Configuration = mailConfiguration
NewMail.Send

MsgBox "E-Mail has been sent", vbInformation

exit_line:
'// Release object memory
Set NewMail = Nothing
Set mailConfiguration = Nothing

Exit Sub

errHandle:

MsgBox "Error: " & Err.Description, vbInformation

GoTo exit_line

End Sub

1 réponse

jordane45 Messages postés 38265 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 novembre 2024 4 694
11 déc. 2019 à 20:12
Bonjour,

A l'avenir, merci d'utiliser les BALISES DE CODE.

Voici un code qui devrait fonctionner
Public Function send_email()
   
  Set cdomsg = CreateObject("CDO.message")
  With cdomsg.Configuration.Fields
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'NTLM method
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
    .Item("http://schemas.microsoft.com/cdo/configuration/smptserverport") = 587
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
    .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mygmail@gmail.com"
    .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mypassword"
    .Update
  End With
  ' build email parts
  With cdomsg
    .To = "somebody@somedomain.com"
    .From = "mygmail@gmail.com"
    .Subject = "the email subject"
    .TextBody = "the full message body goes here. you may want to create a variable to hold the text"
    .Send
  End With
  Set cdomsg = Nothing
 End Function

0
Merci Jordane.

Je veux essayer, mais qui ne marche pas Dans mon code.
0
jordane45 Messages postés 38265 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 novembre 2024 4 694 > Momen
11 déc. 2019 à 21:13
As tu paramétré ton compte google pour autoriser les applications externes ?
As tu utilisé ton mot de passe de ton gmail, ou, comme recommandé un mot de passe d'application ?
Regarde ceci : https://support.google.com/accounts/answer/185833
0