envoi de mail

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

envoi de mail

Message par SPH »

Salut,

voyez vous autre chose que ceci pour envoyer un email a coup sur ? :

Code : Tout sélectionner

InitNetwork()

If CreateMail(0, "", "test d'envoi de mail")
  SetMailBody(0, "Envoyé par "+ComputerName())
  AddMailRecipient(0, "isabelle.nopi@laposte.net", #PB_Mail_To)
  ;          For i=0 To cmb
  ;            AddMailAttachment(0, "save", "save", "")
  ;          Next
  Resultat = SendMail(0, "smtp.orange.fr", 25, 0)
  If resultat=0
    Resultat = SendMail(0, "smtp.free.fr", 25, 0)
    If resultat=0
      Resultat = SendMail(0, "smtp.cegetel.fr", 25, 0)
      If resultat=0
        Resultat = SendMail(0, "smtp.alice.fr", 25, 0)
        If resultat=0
          Resultat = SendMail(0, "smtp.sfr.fr", 25, 0)
          If resultat=0
            Resultat = SendMail(0, "smtp.neuf.fr", 25, 0)
            If resultat=0
              Resultat = SendMail(0, "smtp.noos.fr", 25, 0)
              If resultat=0
                Resultat = SendMail(0, "smtp.tele2.fr", 25, 0)
                If resultat=0
                  Resultat = SendMail(0, "smtp.tiscali.fr", 25, 0)
                  If resultat=0
                    Resultat = SendMail(0, "smtp.wanadoo.fr", 25, 0)
                    If resultat=0
                      Resultat = SendMail(0, "smtp.numericable.fr", 25, 0)
                      If resultat=0
                        Resultat = SendMail(0, "smtp.ovh.fr", 25, 0)
                        If resultat=0
                          MessageRequester("erreur","Email non envoyé")
                        EndIf
                      EndIf
                    EndIf
                  EndIf
                EndIf
              EndIf
            EndIf
          EndIf
        EndIf
      EndIf
    EndIf
  EndIf
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
TazNormand
Messages : 1294
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: envoi de mail

Message par TazNormand »

Salut SPH,

il manque juste un truc c'est que tu ne fais que des envois via le port 25, donc sans SSL, ne pas oublier les ports 465 et 587 :wink:

à l'arrache :

Code : Tout sélectionner

InitNetwork()
MsgTitle.s="email envoyé"
msgText.s="Votre message a bien été envoyé"
srvSMTP.s=""

If CreateMail(0, "", "test d'envoi de mail")
  SetMailBody(0, "Envoyé par "+ComputerName())
  AddMailRecipient(0, "isabelle.nopi@laposte.net", #PB_Mail_To)
  ;          For i=0 To cmb
  ;            AddMailAttachment(0, "save", "save", "")
  ;          Next
  Resultat=0
  Restore smtpServers
  While Resultat=0
    Read.s srvSMTP
    Resultat = SendMail(0, "smtp."+SrvSMTP, 25, 0)
  Wend
  If resultat=0
    msgTitle="Erreur envoi email"
    msgText="Il y a eu un problème sur l'envoi de votre message !!!"
  EndIf
  MessageRequester(MsgTitle,MsgText)
    
EndIf

End

DataSection
  smtpServers:
  Data.s "orange.fr", "free.fr","cegetel.fr","alice.fr"
  Data.s "sfr.fr","neuf.fr","noos.fr","tele2.fr","tiscali.fr"
  Data.s "wanadoo.fr","numericable.fr","ovh.fr"
EndDataSection

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Image
Image
Avatar de l’utilisateur
TazNormand
Messages : 1294
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: envoi de mail

Message par TazNormand »

Ce qui serait pas mal dans PB, c'est un opérateur ternaire du genre :

Code : Tout sélectionner

 MsgText=iif(Resultat,"MsgOK","MsgErr")
Image
Image
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: envoi de mail

Message par SPH »

ne pas oublier les ports 465 et 587
Ou utilises tu ces ports dans ton code :?:
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
TazNormand
Messages : 1294
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: envoi de mail

Message par TazNormand »

Nul part, je te dis juste qu'il ne faut pas les oublier, tu peux faire comme ça :

Code : Tout sélectionner

InitNetwork()
MsgTitle.s="email envoyé"
msgText.s="Votre message a bien été envoyé"
srvSMTP.s=""
Dim ports(2)
ports(0)=25
ports(1)=465
ports(2)=587

  

If CreateMail(0, "", "test d'envoi de mail")
  SetMailBody(0, "Envoyé par "+ComputerName())
  AddMailRecipient(0, "isabelle.nopi@laposte.net", #PB_Mail_To)
  ;          For i=0 To cmb
  ;            AddMailAttachment(0, "save", "save", "")
  ;          Next
  Resultat=0
  Restore smtpServers
  While Resultat=0
    Read.s srvSMTP
    ssl=0
    i=0
    While i<2 And Resultat=0
      If i>0
        ssl=#PB_Mail_UseSSL
      EndIf      
      Resultat = SendMail(0, "smtp."+SrvSMTP, ports(i), ssl)
      i=i+1      
    Wend
  Wend
  If resultat=0
    msgTitle="Erreur envoi email"
    msgText="Il y a eu un problème sur l'envoi de votre message !!!"
  EndIf
  MessageRequester(MsgTitle,MsgText)
    
EndIf

End

DataSection
  smtpServers:
  Data.s "orange.fr", "free.fr","cegetel.fr","alice.fr"
  Data.s "sfr.fr","neuf.fr","noos.fr","tele2.fr","tiscali.fr"
  Data.s "wanadoo.fr","numericable.fr","ovh.fr"
EndDataSection

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Image
Image
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: envoi de mail

Message par Micoute »

Merci TazNormand pour le partage, ce programme fonctionne parfaitement.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: envoi de mail

Message par SPH »

Je ne me rappelle plus du tout comment s'appelle la technique qui permet de lancer une routine en parallele (pour ne pas attendre que le code s'execute)
Car ce code peux mettre plusieurs secondes a s'executer :|
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: envoi de mail

Message par Micoute »

Un thread ?
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
TazNormand
Messages : 1294
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: envoi de mail

Message par TazNormand »

@SPH : tu peux utiliser la constante #PB_Mail_Asynchronous dans le sendMail ccomme ça :

Code : Tout sélectionner

Resultat = SendMail(0, "smtp."+SrvSMTP, ports(i), ssl|#PB_Mail_Asynchronous)
Image
Image
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: envoi de mail

Message par SPH »

Haaaa, un thread, oui

Merci a vous , je teste ca pour choisir le meilleur moyen... 8)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Marc56
Messages : 2146
Inscription : sam. 08/févr./2014 15:19

Re: envoi de mail

Message par Marc56 »

Pourquoi essayer tous les SMTP puisque normalement seul le FAI par lequel tu es connecté autorisera le SMTP non authentifié ?
Avatar de l’utilisateur
SPH
Messages : 4722
Inscription : mer. 09/nov./2005 9:53

Re: envoi de mail

Message par SPH »

Marc56 a écrit :Pourquoi essayer tous les SMTP puisque normalement seul le FAI par lequel tu es connecté autorisera le SMTP non authentifié ?
Par exemple, si je fais un logiciel de messagerie, je ne connais pas a l'avance le FAI de l'utilisateur (le miens si, mais pas le siens)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: envoi de mail

Message par Micoute »

puisque tu connais l'adresse du destinataire :

Code : Tout sélectionner

Smtp = "smtp." + StringField(Destinataire, 2, "@")
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
cage
Messages : 506
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: envoi de mail

Message par cage »

Bonjour,

Une petite application PB disponible ici
Image
CAGE
Dernière modification par cage le lun. 25/mars/2019 13:24, modifié 1 fois.
■ Win10 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.00 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Avatar de l’utilisateur
case
Messages : 1527
Inscription : lun. 10/sept./2007 11:13

Re: envoi de mail

Message par case »

tu veux dire ici ? :lol: :lol:
ImageImage
Répondre