Page 1 sur 2

Envoyer un email

Publié : mar. 12/mai/2015 14:47
par SPH
Salut,

avant, j'utilisait cette routine :

Code : Tout sélectionner

mail$="mail@laposte.net"

;;;;;;;;;;;;;;; mail ;;;;;;;;;;;;;;;;;
If InitNet=0
  InitNet=1
  InitNetwork()
  Delay(1000)
EndIf

;Goto again

If CreateMail(0, "", "titre")
SetMailBody(0, "objet,")

AddMailRecipient(0, mail$, #PB_Mail_To)


          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.club-internet.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.caramail.fr", 25, 0)
                            EndIf
                          EndIf
                        EndIf
                      EndIf
                    EndIf
                  EndIf
                EndIf
              EndIf
            EndIf
          EndIf
          Debug ("Envoie de l'email")
          Debug ("resultat : "+Str(resultat))
          ;Beep_(1500,150)
        EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        End
        
...mais ca ne marche plus (en fait, je soupsonne laposte.net de ne pas distribuer l'email)

Puis, j'ai testé le code exemple fourni dans pb :

Code : Tout sélectionner

InitNetwork()
  
  If CreateMail(0, "mail@laposte.net", "Salut")
    SetMailBody(0, "Ceci est un essai !" + #CRLF$ + "2ème ligne")
    Debug "Mail créé"
  Else
    Debug "Impossible de créer le mail"
  EndIf
...la non plus, ca ne marche pas.

ou est l'erreur ?
(ps : "mail@laposte.net" n'est pas une adresse email valide)

Re: Envoyer un email

Publié : mar. 12/mai/2015 15:25
par G-Rom
l'exemple fonctionne ?

Code : Tout sélectionner


InitNetwork()


If CreateMail(0, "fred@purebasic.com", "Hello !")

  SetMailBody(0, "Hello !" + #CRLF$ + 
                 "This is a multi-" + #CRLF$ +
                 "line mail !")
  
  AddMailAttachment(0, "Geebee !"  , "Data/Geebee2.bmp")
  AddMailAttachment(0, "World icon", "Data/world.png")
  
  ; Change the recipients to real one
  ;
  AddMailRecipient(0, "test@yourdomain.com", #PB_Mail_To)
  AddMailRecipient(0, "test_cc@yourdomain.com", #PB_Mail_Cc)
  
  ; Set the SMTP server to use
  ;
  Result = SendMail(0, "smtp.free.fr", 25, 1)
  
  Repeat
    Progress = MailProgress(0)
    Delay(300)
  Until Progress = #PB_Mail_Finished Or Progress = #PB_Mail_Error
  
  If Progress = #PB_Mail_Finished
    MessageRequester("Information", "Mail correctly sent !")
  Else
    MessageRequester("Error", "Can't sent the mail !")
  EndIf
  
EndIf
(ps : "mail@laposte.net" n'est pas une adresse email valide)
peu etre la réponse a ta question.

Re: Envoyer un email

Publié : mar. 12/mai/2015 16:18
par Marc56
Je suppose que tu a commencé par tester en Telnet si le serveur répond bien et s'il ne te "jette" pas dehors (la plupart des ISP sont passés en mode smtp authentifié)

PS.
Pour ceux qui ne connaissent pas la méthode 'ligne de commande' pour tester son serveur de mail

Test SMTP par telnet
http://blog.kewix.fr/index.php/post/200 ... simplement

Telnet.exe n'est plus installé par défaut dans Windows, mais de toute façon on le remplace avantageusement par PuTTY
http://www.chiark.greenend.org.uk/~sgta ... nload.html

:wink:

Re: Envoyer un email

Publié : mar. 12/mai/2015 16:59
par Kwai chang caine
Encore merci Marc.
J'avais pas compris l'intérêt de putty..
Ni je ne savais non plus le coup du mail en telnet.
C'est utile d'avoir un vieux de la vieille dans le forum :wink:

Re: Envoyer un email

Publié : mar. 12/mai/2015 17:09
par SPH
G-Rom a écrit :l'exemple fonctionne ?

Code : Tout sélectionner


InitNetwork()


If CreateMail(0, "fred@purebasic.com", "Hello !")

  SetMailBody(0, "Hello !" + #CRLF$ + 
                 "This is a multi-" + #CRLF$ +
                 "line mail !")
  
  AddMailAttachment(0, "Geebee !"  , "Data/Geebee2.bmp")
  AddMailAttachment(0, "World icon", "Data/world.png")
  
  ; Change the recipients to real one
  ;
  AddMailRecipient(0, "test@yourdomain.com", #PB_Mail_To)
  AddMailRecipient(0, "test_cc@yourdomain.com", #PB_Mail_Cc)
  
  ; Set the SMTP server to use
  ;
  Result = SendMail(0, "smtp.free.fr", 25, 1)
  
  Repeat
    Progress = MailProgress(0)
    Delay(300)
  Until Progress = #PB_Mail_Finished Or Progress = #PB_Mail_Error
  
  If Progress = #PB_Mail_Finished
    MessageRequester("Information", "Mail correctly sent !")
  Else
    MessageRequester("Error", "Can't sent the mail !")
  EndIf
  
EndIf
(ps : "mail@laposte.net" n'est pas une adresse email valide)
peu etre la réponse a ta question.
Ca ne fonctionne pas.
Et pour mail@laposte.net, je l'avais remplacé par une adresse a moi (valide), evidement :wink:

Re: Envoyer un email

Publié : mar. 12/mai/2015 17:34
par G-Rom
et tu avais mis tes identifiants ? ton port est ouvert ?

Re: Envoyer un email

Publié : mar. 12/mai/2015 18:00
par SPH
G-Rom a écrit :et tu avais mis tes identifiants ? ton port est ouvert ?
Le port 25 ?

Re: Envoyer un email

Publié : mar. 12/mai/2015 18:06
par G-Rom
oui

Re: Envoyer un email

Publié : mar. 12/mai/2015 18:52
par SPH
2 choses :
1> comment on fait ? 8)
2> ca doit marcher chez tout le monde car c'est destiné a etre dans un logiciel :idea:

Re: Envoyer un email

Publié : mar. 12/mai/2015 19:15
par G-Rom
Comment on fait quoi ?
Marc56 t'as fait une remarque judicieuse , je cite : "(la plupart des ISP sont passés en mode smtp authentifié)"
et je t'ais posé 2 questions , tu as répondu qu'a l'une d'entre elle :
et tu avais mis tes identifiants ? ton port est ouvert ?
Si tu ne réponds pas aux questions on va passé 2 plombes à résoudre ton problème...

Re: Envoyer un email

Publié : mar. 12/mai/2015 19:42
par SPH
G-Rom a écrit :et tu avais mis tes identifiants ? ton port est ouvert ?
mes identifiants ? Tu veux dire mon email ? (oui)
le port, je suppose qu'il est ouvert (je vais lire les 2 liens qu'a indiqué marc56)

Re: Envoyer un email

Publié : mar. 12/mai/2015 19:47
par G-Rom
Quand je parle d’identifiant, je parle d'identifiant mail... pas ton code carte bleue 8O
généralement , c'est la partie avant @

exemple :

jean.charles@wanadoo.fr

identifiant : jean.charles
mot de passe : ay483qed

mais ca dépends du serveur SMTP, ces infos tu les as forcement eu avec ton FAI.

http://www.commentcamarche.net/faq/893- ... cipaux-fai

Re: Envoyer un email

Publié : mer. 13/mai/2015 9:10
par Ar-S
Regarde dans la doc ta commande SendMail
N'as tu pas oublié des champs ?

Code : Tout sélectionner

Resultat = SendMail(#Courrier, Smtp$ [, Port [, Asynchrone [, Identifiant$, MotdePasse$]]]) 

Re: Envoyer un email

Publié : mer. 13/mai/2015 12:42
par SPH
Ar-S a écrit :Regarde dans la doc ta commande SendMail
N'as tu pas oublié des champs ?

Code : Tout sélectionner

Resultat = SendMail(#Courrier, Smtp$ [, Port [, Asynchrone [, Identifiant$, MotdePasse$]]]) 
Haaa, ca, ca me parle.
Je regarde ca...

Re: Envoyer un email

Publié : mer. 13/mai/2015 13:35
par G-Rom
F1 dois devenir un réflexe , ainsi qu'un coup d’œil en bas de l'IDE ;)