Page 1 sur 1
Envoyé un simple e-mail !!
Publié : dim. 18/mai/2008 0:10
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é...
Publié : dim. 18/mai/2008 1:38
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é.
Publié : dim. 18/mai/2008 6:43
par Neosis
Merci Metal0S^^mais hélas je n'arrive pas à tous comprendre la dedans
Publié : dim. 18/mai/2008 7:21
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
Publié : dim. 18/mai/2008 7:37
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)

Publié : dim. 18/mai/2008 19:11
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
