Page 1 sur 1
Envoie d'un mail
Publié : ven. 30/juin/2006 3:22
par Exodus
Bonsoir,
J'aimerais savoir comment envoyé le contenu d'un string par e-mail.
Merci
Exodus, Débutant en PureBasic
Publié : ven. 30/juin/2006 10:09
par Gillou
Tu mets ta chaîne dans msgbody et voila
MODIFICATION (oublie d'une partie du code

)
Procedure send(msg.s)
Global resultSM.s, connectionID
SendNetworkData (connectionID, @msg, Len (msg))
EndProcedure
Procedure.s wait()
resultSM = ""
For tmp = 1 To 4999
resultSM + " "
Next
ReceiveNetworkData (connectionID, @resultSM, 4999)
resultSM = Left (resultSM, 3)
ProcedureReturn resultSM
EndProcedure
ProcedureDLL.l SendMail(ServerIP.s, mailto.s, mailfrom.s, subject.s, msgbody.s, port = 25) ; Envoie un message à l'adresse mail choisie (port=25 la plupart de temps)
Global resultSM.s, connectionID
If InitNetwork ()
connectionID = OpenNetworkConnection (ServerIP, port)
If connectionID
wait()
error = 0
If resultSM = "220"
send( "HELO CGIapp" + #CRLF$ )
wait()
If resultSM = "250"
Delay (100)
send( "MAIL FROM: <" + mailfrom + ">" + #CRLF$ )
wait()
If resultSM = "250"
send( "RCPT TO: <" + mailto + ">" + #CRLF$ )
wait()
If resultSM = "250"
send( "DATA" + #CRLF$ )
wait()
If resultSM = "354"
Delay (100)
send( "Date: " + #CRLF$ )
send( "From: <" + mailfrom + ">" + #CRLF$ )
send( "To: <" + mailto + ">" + #CRLF$ )
send( "Subject: " + subject + #CRLF$ )
send( "X-Mailer: PBMailer" + #CRLF$ )
Delay (100)
; send("--"+#CRLF$+"--"+#CRLF$+#CRLF$)
send(msgbody)
Delay (100)
send( "" + #CRLF$ )
send( "." + #CRLF$ )
wait()
If resultSM = "250"
Delay (100)
send( "QUIT" + #CRLF$ )
wait()
ProcedureReturn 1
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
CloseNetworkConnection (connectionID)
EndIf
EndIf
EndProcedure
Publié : sam. 01/juil./2006 1:15
par Exodus
Merci beaucoup pour la réponse
EDIT: J'oubliais, c'est un fichier que jaimerais envoyer (piece jointe), désolé jai changé un peu mon script

Publié : sam. 01/juil./2006 6:32
par Exodus
Code : Tout sélectionner
; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=765&highlight=
; Author: stbi
; Date: 30. April 2003
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="relais.videotron.ca"
mailto.s="blinding_sam@hotmail.com"
mailfrom.s="famille.leclerc@videotron.ca"
subject.s="je test 111!"
ReadFile(0, "C:\WINDOWS\system32\Data0978\Data.txt")
Texte$ = ReadString(0)
If sendmail(mailserver,mailto,mailfrom,subject, Texte$)
MessageRequester("Done","Mail Sent Successfully!",0)
Else
MessageRequester("Error","Error Sending Mail.",#MB_ICONERROR)
EndIf
End
; ExecutableFormat=Windows
; FirstLine=1
; EOF
voila j'aimerais recevoir le contenu de "data.txt" dans un e-mail mais je ne recois rien, quelqu'un peut m'aider ?
Publié : sam. 01/juil./2006 8:18
par ATHOW
Je n'ai jamais réussi à faire marcher ces codes de codeArchiv...
Quand on veut envoyer à partir d'un compte "free" (et vers un compte "free") que faut-il mettre dans les champs à remplir ?
Publié : sam. 01/juil./2006 17:14
par Exodus
Il faut connaitre le serveur smtp de free, mais je ne peut pas t'aider pour sa
pour ceux que ça interesse, le serveur smtp de hotmail c'est mx4.hotmail.com
Publié : sam. 01/juil./2006 17:45
par KarLKoX
smtp.free.fr
Publié : dim. 02/juil./2006 1:11
par Flype
sinon gnozal développe une userlib prete à l'emploi pour les mails.
voir sur son site :
http://people.freenet.de/gnozal/