Envoi Email Echec

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 636
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Envoi Email Echec

Message par omega »

Bonjour à tous,

Je ne comprends pas pourquoi ce code m'affiche une erreur pourtant il marchait bien avant. J'ai juste porté quelques changements et voilà...

Message affiché: Can't sent the mail !

Merci

Code : Tout sélectionner

InitNetwork()

If CreateMail(0, "softbanque@gmail.com", "Juste pour tester !")

AddMailRecipient(0, "contact@promadoc.com", #PB_Mail_To)

 Result = SendMail(0, "smtp.gmail.com", 25, #PB_Mail_Asynchronous)
  
  Repeat
    Progress = MailProgress(0)
    Delay(300)
  Until Progress = #PB_Mail_Finished Or Progress = #PB_Mail_Error
  
  If Progress = #PB_Mail_Finished
    MessageRequester("Information", "Message envoyé !")
  Else
    MessageRequester("Error", "Can't sent the mail !")
  EndIf
 
EndIf
Win7 (x64)
Pb 6.03 LTS
Avatar de l’utilisateur
Mindphazer
Messages : 700
Inscription : mer. 24/août/2005 10:42

Re: Envoi Email Echec

Message par Mindphazer »

Il me semble que Google a récemment modifié sa méthode d'authentification pour son serveur de messagerie SMTP avec Gmail.
De mémoire, il faut autoriser les accès moins sécurisés dans les paramètres de sécurité de ton compte Google : (in english sorry :mrgreen: )

How To Enable Email Sending In Gmail?

Before sending emails using the Gmail's SMTP Server, you to make some of the security and permission level settings under your Google Account Security Settings.

Make sure that 2-Step-Verification is disabled.

Turn ON the "Less Secure App" access or click here.

If 2-step-verification is enabled, then you will have to create app password for your application or device.

For security measures, Google may require you to complete this additional step while signing-in. Click here to allow access to your Google account using the new device/app.
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Envoi Email Echec

Message par falsam »

L'envoie d'un mail en utilisant le serveur de gmail s'effectue de cette manière

Code : Tout sélectionner

InitNetwork()

  ; Assurez-vous d'utiliser le bon login et le bon mot de passe
  ;
  Identifiant$ = "votrelogin"
  If CreateMail(0, Identifiant$ + "@gmail.com", "Hello")
    AddMailRecipient(0, "votreadresse@gmail.com", #PB_Mail_To)

    Debug SendMail(0, "smtp.gmail.com", 465, #PB_Mail_UseSSL, Identifiant$, "motdepasse")
  EndIf
Exemple tiré de l'aide :wink:

Mais google interceptera le mail avec le message suivant.
Google a bloqué l'application que vous essayiez d'utiliser, car cette dernière ne respecte pas nos normes de sécurité.
Certaines applications et certains appareils utilisent une technologie de connexion moins sécurisée, ce qui rend votre compte plus vulnérable. Vous pouvez désactiver l'accès pour ces applications (recommandé) ou l'activer si vous voulez les utiliser malgré les risques encourus. Google désactive automatiquement ce paramètre s'il n'est pas utilisé.
Je pense qu'il vaut mieux utiliser le smtp du FAI (Free, Orange, SFR ...)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Envoi Email Echec

Message par falsam »

Voici un exemple fonctionnel d'envoi de mail sécurisé (SSL) avec mon FAI SFR. j'ai testé l'ajout d'un destinataire en copie ainsi que de deux pièces jointes se trouvant dans le meme dossier que le code.

Code : Tout sélectionner

InitNetwork()

Define user.s = "votre nom@sfr.fr"
Define pass.s = "votre mot de passe"

If CreateMail(0, user, "Hello !")
  
  ;Text de l'émail
  SetMailBody(0, "Bonjour" + #CRLF$ + 
                 "Voici les piéces demandées" + #CRLF$ +
                 "Cordialement !")
  
  ;Ajout des piéces jointes
  AddMailAttachment(0, "Comment faire", "howto.dat")
  AddMailAttachment(0, "Résultat", "resu.pdf")
  
  ; Ajout du destinataire
  AddMailRecipient(0, "votre destinataire@gmail.com", #PB_Mail_To)
  
  ; Ajout éventuel d'un destinataire en copie
  AddMailRecipient(0, "falsam@falsam.com", #PB_Mail_Cc)
  
  ; Renseigner le serveur SMTP
  Result = SendMail(0, "smtp.sfr.fr", 465, #PB_Mail_UseSSL, user, pass)
  
  Repeat
    Progress = MailProgress(0)
    Delay(300)
  Until Progress = #PB_Mail_Finished Or Progress = #PB_Mail_Error
  
  If Progress = #PB_Mail_Finished
    MessageRequester("Information", "Mail correctement envoyé")
  Else
    MessageRequester("Information", "Impossible d'envoyer le mail!")
  EndIf
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre