ich möchte ein Tool Programmieren mit dem ich mir per E-MAil automatisch eine bestimmte Datei zuschicken kann. Also wenn ich es starte wird die bestimmte Datei versendet.
Danke
Code: Alles auswählen
;Example linked list
NewList Attachments.s()
InsertElement(Attachments())
Attachments() = "C:\Documents And Settings\User\Desktop\Image.jpg"
Code: Alles auswählen
;Send the mail
Procedure PBSendMail(RecipientEmailAddress.s, SenderEmailAddress.s, MailServerHost.s, Subject.s, Message.s, AttachmentIncluded.b)
If InitNetwork()
ConnectionID = OpenNetworkConnection(MailServerHost, 25)
If ConnectionID <> 0
MailResponse()
If MailResponse = "220"
Index = FindString(MailServerHost, ".", 1)
MailServerDomain.s = Mid(MailServerHost, Index + 1, Len(MailServerHost))
SendMailData("HELO "+MailServerDomain+Chr(13)+Chr(10))
MailResponse()
If MailResponse="250"
Sleep_(125)
SendMailData("MAIL FROM: <"+SenderEmailAddress+">"+Chr(13)+Chr(10))
MailResponse()
If MailResponse="250"
SendMailData("RCPT TO: <"+RecipientEmailAddress+">"+Chr(13)+Chr(10))
MailResponse()
If MailResponse="250"
SendMailData("DATA"+Chr(13)+Chr(10))
MailResponse()
If MailResponse="354"
Sleep_(125)
SendMailData("X-Mailer: PBSendMail v1.0" + Chr(13) + Chr(10))
SendMailData("To: " + RecipientEmailAddress + Chr(13) + Chr(10))
SendMailData("From: " + SenderEmailAddress + Chr(13) + Chr(10))
SendMailData("Reply-To:" + SenderEmailAddress + Chr(13) + Chr(10))
SendMailData("Date: " + FormatDate("%dd/%mm/%yyyy @ %hh:%ii:%ss", Date()) + Chr(13) + Chr(10))
SendMailData("Subject: " + Subject + Chr(13) + Chr(10))
SendMailData("MIME-Version: 1.0" + Chr(13) + Chr(10))
;Handle any attachments
If AttachmentIncluded
Debug "Processing 'multipart/mixed' Email..."
Boundry.s = "PBSendMailv1.0_Boundry_"+ FormatDate("%dd%mm%yyyy%hh%ii%ss", Date())
SendMailData("Content-Type: multipart/mixed; boundary=" + Chr(34) + Boundry + Chr(13) + Chr(10) + Chr(34))
SendMailData(Chr(13) + Chr(10))
;Main message
Debug "Processing Messsage..."
SendMailData("--" + Boundry + Chr(13) + Chr(10)) ; Boundry
SendMailData("Content-Type: text/plain; charset=" + Chr(34) + "iso-8859-1" + Chr(34) + Chr(13) + Chr(10))
SendMailData("Content-Transfer-Encoding: 7bit" + Chr(13) + Chr(10))
SendMailData(Chr(13) + Chr(10))
Sleep_(125)
SendMailData(Message + Chr(13) + Chr(10))
SendMailData(Chr(13) + Chr(10))
Sleep_(125)
Debug "Processing Attachments..."
ResetList(Attachments())
While(NextElement(Attachments()))
;Attachment headers
SendMailData("--" + Boundry + Chr(13) + Chr(10)) ; Boundry
SendMailData("Content-Type: " + GetMIMEType(GetExtensionPart(Attachments())) + "; name=" + Chr(34) + GetFilePart(Attachments()) + Chr(34) + Chr(13) + Chr(10))
If IsBinary(Attachments())
SendMailData("Content-Transfer-Encoding: base64" + Chr(13) + Chr(10))
SendMailData("Content-Disposition: Attachment; filename=" + Chr(34) + GetFilePart(Attachments()) + Chr(34) + Chr(13) + Chr(10))
SendMailData(Chr(13) + Chr(10))
Sleep_(125)
;Encode the Attachments using Base64
If ReadFile(0, Attachments())
InputBufferLength.l = Lof()
If AllocateMemory(0, InputBufferLength, 0)
OutputBufferLength.l = InputBufferLength + InputBufferLength/3 + 2
If OutputBufferLength < 64 : OutputBufferLength = 64 : EndIf
If AllocateMemory(1, OutputBufferLength, 0)
ReadData(UseMemory(0), InputBufferLength)
Base64Encoder(UseMemory(0), InputBufferLength, UseMemory(1), OutputBufferLength)
SendMailData(PeekS(UseMemory(1), OutputBufferLength) + Chr(13) + Chr(10))
Debug GetFilePart(Attachments()) + " (base64) Encoded"
Else
Debug "ERROR: Unable to allocate memory for Bank 1 to process " + GetFilePart(Attachments())
ProcedureReturn 0
EndIf
Else
Debug "ERROR: Unable to allocate memory for Bank 0 to process " + GetFilePart(Attachments())
ProcedureReturn 0
EndIf
Else
Debug "ERROR: Unable to read file: " + GetFilePart(Attachments())
ProcedureReturn 0
EndIf
CloseFile(0) : FreeMemory(0) : FreeMemory(1)
Else
SendMailData("Content-Transfer-Encoding: 7bit" + Chr(13) + Chr(10))
SendMailData("Content-Disposition: Attachment; filename=" + Chr(34) + GetFilePart(Attachments()) + Chr(34) + Chr(13) + Chr(10))
SendMailData(Chr(13) + Chr(10))
Sleep_(125)
If ReadFile(0, Attachments())
InputBufferLength.l = Lof()
If AllocateMemory(0, InputBufferLength, 0)
ReadData(UseMemory(0), InputBufferLength)
SendMailData(PeekS(UseMemory(0), InputBufferLength) + Chr(13) + Chr(10))
Debug GetFilePart(Attachments()) + " (7bit) Processed"
Else
Debug "ERROR: Unable to allocate memory for Bank 0 to process " + GetFilePart(Attachments())
ProcedureReturn 0
EndIf
Else
Debug "ERROR: Unable to read file: " + GetFilePart(Attachments())
ProcedureReturn 0
EndIf
EndIf
Sleep_(125)
SendMailData(Chr(13) + Chr(10))
Wend
SendMailData("--" + Boundry + "--" + Chr(13) + Chr(10)) ; End Boundry
Else
Debug "Processing messsage..."
SendMailData("Content-Type: text/plain; charset=" + Chr(34) + "iso-8859-1" + Chr(34) + Chr(13) + Chr(10))
SendMailData("Content-Transfer-Encoding: 7bit" + Chr(13) + Chr(10))
SendMailData(Chr(13) + Chr(10))
Sleep_(125)
SendMailData(Message + Chr(13) + Chr(10))
EndIf
Sleep_(125)
SendMailData(Chr(13)+Chr(10))
SendMailData("."+Chr(13)+Chr(10))
MailResponse()
If MailResponse="250"
Sleep_(125)
SendMailData("QUIT"+Chr(13)+Chr(10))
MailResponse()
Debug "Mail sent successfully."
ProcedureReturn 1
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
CloseNetworkConnection(ConnectionID)
EndIf
EndIf
EndProcedure
;Testing:
PBSendMail("theirmail@server.com", "yourmail@server.com", "smtp.server.com", "Subject Line", "Lorem Ipsum Dolar Sit Amet...", 0)
; ExecutableFormat=Windows
; EOF