Windows Server Automaten
E-Mails per Kommandozeile
Dazu benötigen Sie allerdings ein Programm, das per Kommandozeile E-Mails versendet. Nun kann der Windows Server zwar prima mit SMTP umgehen, nur bietet er leider kein fertiges Programm zum Versand vom E-Mails von der Kommandozeile. Das ist jedoch nicht besonders schlimm, weil der Zugriff auf SMTP auch per Script funktioniert. Ein Beispiel-Script zum Versenden von E-Mails finden Sie zum Beispiel bei Microsoft:
' Emails über den lokalen SMTP-Dienst mittels CDONTS verschicken
' Benutzung:
' sendmail -t <an> -f <von> -s "<betreff>" -b "<nachricht>"
' sendmail [-help|-?]
Option Explicit
On Error Resume Next
Dim objSendMail, oArgs, ArgNum
Dim strTo, strFrom, strSubject, strBody
Set oArgs = WScript.Arguments
ArgNum = 0
While ArgNum < oArgs.Count
Select Case LCase(oArgs(ArgNum))
Case "-to","-t":
ArgNum = ArgNum + 1
strTo = oArgs(ArgNum)
Case "-from","-f":
ArgNum = ArgNum + 1
strFrom = oArgs(ArgNum)
Case "-subject","-s":
ArgNum = ArgNum + 1
strSubject = oArgs(ArgNum)
Case "-body","-b":
ArgNum = ArgNum + 1
strBody = oArgs(ArgNum)
Case "-help","-?":
Call DisplayUsage
Case Else:
Call DisplayUsage
End Select
ArgNum = ArgNum + 1
Wend
If oArgs.Count=0 Or strTo="" Or strFrom="" Or strSubject="" Or strBody="" Then Call DisplayUsage
Else
Set objSendMail = CreateObject("CDONTS.NewMail")
objSendMail.From = strFrom
objSendMail.To = strTo
objSendMail.Subject = strSubject
objSendMail.Body = strBody
objSendMail.Send
Set objSendMail = Nothing
End If
Sub DisplayUsage
WScript.Echo "Benutzung:"
WScript.Echo "sendmail -t <an> -f <von> -s " & Chr(34) & "<betreff>" & Chr(34) & " -b " & Chr(34) & "<nachricht>" & Chr(34)
WScript.Echo "sendmail [-help|-?]"
WScript.Echo ""
WScript.Quit End Sub