
Selber programmieren - kein Problem
Sowohl Visual Basic Script als auch JavaScript stehen nicht nur für die Programmierung von Webseiten zur Verfügung: Man kann auch Programme damit schreiben, die täglich anfallende Arbeiten auf einem ganz normalen Windows PC-übernehmen. Zum Beispiel das versenden von eMail per Kommandozeile ist eine Problemstellung, die sich mit VBScript elegant und schnell lösen läßt. Wie das geht, erklärt der folgende Beitrag.
Sendmail mit Visual Basic Script
Oft möchte man auf die schnelle eine eMail verschicken - dazu aber nicht erst Outlook oder sonst einen eMail-Client starten: Einfach auf der Kommandozeile Sendmail hallo@wo.ext 'Gehen wir essen?' eintippen - das wäre schön.
So eine Funktion hat auch noch andere Vorteile: So kann man sich zum Beispiel von Batch-Jobs eMails schicken lassen, wenn diese Ihre Aufgaben erfüllt haben - oder nicht erfüllen konnten - oder man verwendet die Funktion um sich selbst Statusberichte von Server schicken zu lassen, die irgendwo unbeaufsichtigt ihre Aufgaben erfüllen.
Genau dies tut das kleine VB Script, das im folgenden entworfen wird.
Dazu muß gesagt werden, das VBScript selbst nicht sonderlich viele Dinge erledingen kann - es verwendet statt dessen im System vorhandene Objekte, die die gewünschten Aufgaben erfüllen können. Solche Objekte existieren eine ganze Menge: So kann zum Beispiel das komplette Office-Paket als ein solches betrachtet weden, und auch Outlook kann - wie viele Anwender im Zuge des I-Love-You Virus erfahren haben - per Scripting automatisch gesteuert werden.
Darüber hinaus kommt Windows selbst auch mit einer Reihe an Objekte, die der Scripting Engine direkt verwenden kann: Dazu gehören solche zum Zugriff auf das Dateisystem - damit kann man Dateien erzeugen, lesen und schreiben - und auch ein Objekt das den Zugriff auf die Registry zuläßt.
Im hier vorliegenden Fall soll der SMTP Dienst von Windows 2000 verwendet werden: Dieser Dienst kann ebenfalls als Objekt vom Scripting Engine aus verwendet werden und dient der zustellung von eMail: Dieser Dienst ist von Haus aus bei allen Windows 2000 Versionen verfügbar - wenn Sie Windows 2000 gar nicht einsetzen ist das aber auch kein Problem: Die Grundzüge für das Programmieren von Scripten mit VBScript werden im folgenden trotzdem klar genug: Nur das fertige Programm können Sie eben nicht benutzen.
Genug der Vorrede: Hier der Sprung ins kalte Wasser.
Das fertige Programm sieht so aus - was die einzelnen Zeilen bedeuten, wird dann Schritt für Schritt erläutert.
Oft möchte man auf die schnelle eine eMail verschicken - dazu aber nicht erst Outlook oder sonst einen eMail-Client starten: Einfach auf der Kommandozeile Sendmail hallo@wo.ext 'Gehen wir essen?' eintippen - das wäre schön.
So eine Funktion hat auch noch andere Vorteile: So kann man sich zum Beispiel von Batch-Jobs eMails schicken lassen, wenn diese Ihre Aufgaben erfüllt haben - oder nicht erfüllen konnten - oder man verwendet die Funktion um sich selbst Statusberichte von Server schicken zu lassen, die irgendwo unbeaufsichtigt ihre Aufgaben erfüllen.
Genau dies tut das kleine VB Script, das im folgenden entworfen wird.
Dazu muß gesagt werden, das VBScript selbst nicht sonderlich viele Dinge erledingen kann - es verwendet statt dessen im System vorhandene Objekte, die die gewünschten Aufgaben erfüllen können. Solche Objekte existieren eine ganze Menge: So kann zum Beispiel das komplette Office-Paket als ein solches betrachtet weden, und auch Outlook kann - wie viele Anwender im Zuge des I-Love-You Virus erfahren haben - per Scripting automatisch gesteuert werden.
Darüber hinaus kommt Windows selbst auch mit einer Reihe an Objekte, die der Scripting Engine direkt verwenden kann: Dazu gehören solche zum Zugriff auf das Dateisystem - damit kann man Dateien erzeugen, lesen und schreiben - und auch ein Objekt das den Zugriff auf die Registry zuläßt.
Im hier vorliegenden Fall soll der SMTP Dienst von Windows 2000 verwendet werden: Dieser Dienst kann ebenfalls als Objekt vom Scripting Engine aus verwendet werden und dient der zustellung von eMail: Dieser Dienst ist von Haus aus bei allen Windows 2000 Versionen verfügbar - wenn Sie Windows 2000 gar nicht einsetzen ist das aber auch kein Problem: Die Grundzüge für das Programmieren von Scripten mit VBScript werden im folgenden trotzdem klar genug: Nur das fertige Programm können Sie eben nicht benutzen.
Genug der Vorrede: Hier der Sprung ins kalte Wasser.
Das fertige Programm sieht so aus - was die einzelnen Zeilen bedeuten, wird dann Schritt für Schritt erläutert.
Option Explicit Dim ArgObj Set ArgObj = WScript.Arguments if ArgObj.Count <> 3 then DisplayHelpMessage WScript.Quit end if Dim target, subject, body, from target = ArgObj.Item( 0) subject = ArgObj.Item( 1) body = ArgObj.Item( 2) from = "IhreEmail@absender.de" SendMail target, from, subject, body function SendMail( strTo, strFrom, strSubject, strBody) dim oMsg set oMsg = CreateObject("CDO.Message") oMsg.To = strTo oMsg.From = strFrom oMsg.Subject = strSubject oMsg.TextBody = strBody oMsg.Send WScript.Echo "Mail von " & strFrom & " an " & strTo & " verschickt.." set oMsg = Nothing end function sub DisplayHelpMessage() WScript.Echo WScript.Echo "Usage: sendmail To Subject Body" WScript.Echo "... Subject und Body in doppelten Hochhaken" end sub