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