Envoyé un simple e-mail !!

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Envoyé un simple e-mail !!

Message par Neosis »

Salut à tous.
J'ai un soucis pas possible, je veux envoyer un e-mail, un simple e-mail pas de pièce jointe ni quoi que ce soit, j'ai chercher dans le forum j'ai vu 1 ou 2 truc mais bien trop complexe pour moi.
Donc je fait appelle aux grands esprits de la programmation :) s'il vous plait je vous en conjure venez à mon aide car je ne voie vraiment pas vers ou me dirigé...
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Voici un code trouver sur PureArea si defoit ca peut t'aider.

Code : Tout sélectionner

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=765&highlight=
; Author: stbi
; Date: 30. April 2003
; OS: Windows
; Demo: Yes

Global res.s, cr.s, ConnID.l 
cr.s=Chr(13)+Chr(10) 


Procedure send(msg.s) 
  SendNetworkData(ConnID,@msg,Len(msg)) 
  Debug "send: "+msg 
EndProcedure 

Procedure.s wait() 
  res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
  ProcedureReturn res 
EndProcedure 

Procedure.l sendmail(mailserver.s,mailto.s,mailfrom.s,subject.s,msgbody.s) 
  If InitNetwork() 
    ConnID = OpenNetworkConnection(mailserver,25) 
    If ConnID 
      wait() 
      error=0 
      If res="220" 
        send("HELO CGIapp"+cr) 
        wait()    
        If res="250" 
          Delay(100) 
          send("MAIL FROM: <"+mailfrom+">"+cr) 
          wait() 
          If res="250" 
            send("RCPT TO: <"+mailto+">"+cr) 
            wait() 
            If res="250" 
              send("DATA"+cr) 
              wait() 
              If res="354" 
                Delay(100) 
                send("Date: "+cr) 
                send("From: <"+mailfrom+">"+cr) 
                send("To: <"+mailto+">"+cr) 
                send("Subject: "+subject+cr) 
                send("X-Mailer: PBMailer"+cr) 
                Delay(100) 
                send("--"+cr+"--"+cr+cr) 
                send(msgbody) 
                Delay(100) 
                send(""+cr) 
                send("."+cr) 
                wait() 
                If res="250" 
                  Delay(100) 
                  send("QUIT"+cr) 
                  wait() 
                  ProcedureReturn 1 
                EndIf 
              EndIf 
            EndIf 
          EndIf 
        EndIf 
      EndIf 
      CloseNetworkConnection(ConnID) 
    EndIf 
  EndIf  
EndProcedure 

;============================== 
;-Enter Appropriate Information 

mailserver.s="mail.gmx.de" 
mailto.s="userid@domain.de" 
mailfrom.s="userid@gmx.de" 
subject.s="Test Message" 

If sendmail(mailserver,mailto,mailfrom,subject,"This is a test message!"+cr+"What do you think?") 
  MessageRequester("Done","Mail Sent Successfully!",0) 
  Else 
  MessageRequester("Error","Error Sending Mail.",#MB_ICONERROR) 
EndIf 
End 
; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
Modifie le à ta sauce si tu lit bien le code il n'est pas tres compliqué.
Neosis
Messages : 113
Inscription : dim. 24/févr./2008 20:11

Message par Neosis »

Merci Metal0S^^mais hélas je n'arrive pas à tous comprendre la dedans :?
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

La 4.20 comporte une bibliothèque Mail, c'est beaucoup plus simple !
Il y a un exemple avec la beta 4.20.

Sinon tu peux modifier ce code.

Code : Tout sélectionner

InitNetwork()
OpenConsole()

If CreateMail(0, "xxxx@free.fr", "Salut toto !") ; A adapter selon l'expéditeur

  SetMailBody(0, "Hello   "+ Chr(10) + " Ceci est un mail , et je suis tellement content" + #LFCR$ + "que j'ajoute une autre ligne") ; A adapter selon le contenu du mail
      
  AddMailRecipient(0, "xxx@hotmail.com", #PB_Mail_To) ; A adapter selon le destinataire

  Result = SendMail(0, "smtp.free.fr", 25, 1)  ; <<< A adapter selon l'expéditeur
  
  Repeat
    Resultat=MailProgress(0)
    Select Resultat
      Case #PB_Mail_Connected
        PrintN("Connexion etablie")
      Case #PB_Mail_Error
        PrintN("Erreur !!")
      Case #PB_Mail_Finished
        PrintN("mail envoye")
      Default
        PrintN(Str(Resultat))
    EndSelect    
    Delay(300)
  Until resultat = #PB_Mail_Finished Or Resultat = #PB_Mail_Error

  Input()
   
EndIf
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Xpetera
Messages : 52
Inscription : sam. 02/févr./2008 22:25

Message par Xpetera »

Sinon ce que je ferais à ta place , je ne m'emmerderais pas : Une webgadget qui pointe sur un script php qui envoie un mail (fonction mail() super simple en plus) :)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Je crois que j'avais mis la source d'un programme qui le faisais en ligne.

Sinon le site www.iprelax.net est très instructif :wink:
Répondre