Ein kleines VB-Script, dass einen Ordner auf Dateien prüft und diese dann als E-Mailanhang verschickt.
Das Script prüft beim Aufruf den Quellordner („sourcefolder“) auf Dateien. Die gefundenen Dateien werden per E-Mailanhang verschickt und im Anschluss in den Zielordner („targetfolder“) verschoben. Die Vorgänge werden fortlaufend in einer Log-Datei protokolliert. Sofern im Script-Verzeichnis noch keine Log-Datei existiert, wird diese automatisch erstellt.
Das Script kann automatisiert über die Windows Aufgabenplanung ausgeführt werden.
'#################### L I C E N S E ####################
' Script: Mailtransfer
' Developer: www.anreiter.at
' License: CC BY-SA 4.0
' https://creativecommons.org/licenses/by-sa/4.0/
'#######################################################
'############## E I N S T E L L U N G E N ##############
' Ordner:
sourcefolder = "c:" ' Quellordner
targetfolder = "c:" ' Zielordner
' Mail:
server = "mailserver"
port = 25
mailto = "Empfängername <zu@sonstwo.at>"
mailfrom = "Absendername <von@sonstwo.at>"
mailsubject = "Mail-Transfer"
mailbody = ""
'#######################################################
' Log-Function
Dim ObjFso : Set ObjFso = CreateObject("Scripting.FileSystemObject")
Dim FIL_LOG : FIL_LOG = Replace(WScript.ScriptFullName,".vbs",".log")
Function WriteLog(Inhalt)
Dim FileOut
Set FileOut = ObjFso.OpenTextFile(FIL_LOG,8,true)
FileOut.WriteLine (Now() & " - " & Inhalt)
FileOut.Close
Set FileOut = Nothing
End Function
' Dateien im Quellordner vorhanden?
FilesCount = ObjFso.GetFolder(sourcefolder).Files.count
if FilesCount > 0 then
' Dateien vorhanden
WriteLog("Dateien vorhanden!")
' Mail
set lobj_cdomsg = CreateObject("CDO.Message")
lobj_cdomsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
lobj_cdomsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = server
lobj_cdomsg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = port
lobj_cdomsg.Configuration.Fields.Update
lobj_cdomsg.To = mailto
lobj_cdomsg.From = mailfrom
lobj_cdomsg.Subject = mailsubject
lobj_cdomsg.TextBody = mailbody
' Mailanhang
Set Folder=ObjFso.GetFolder(sourcefolder)
For Each File in Folder.Files
lobj_cdomsg.AddAttachment (Folder & "\" & File.Name)
Next
' Dateien loggen
WriteLog("Dateien:")
For Each File in Folder.Files
WriteLog(File.Name)
Next
' Mail senden
lobj_cdomsg.Send
' Dateien verschieben
For Each File in Folder.Files
ObjFso.MoveFile sourcefolder & "\" & File.Name, targetfolder & "\"
Next
WriteLog("Vorgang abgeschlossen!")
else
' KEINE Dateien vorhanden!
WriteLog("KEINE Dateien vorhanden!")
end if
Code-Sprache: PHP (php)