VBScript Email senden
Inhaltsverzeichnis
VBScript Email senden
Du möchtest eine VBScript Email senden und dabei eventuell ein Template verwenden?
Korrekterweise hast Du keine Lust dazu, im Zeitalter der Digitalisierung und der Automation alles händisch zu erledigen?
Lerne in diesem Beitrag wie Du dafür unter anderem vorgehen kannst!
Eventuell hast Du auch zu einem späteren Zeitpunkt Interesse an folgenden Beiträgen: Send Key, Replace, Select Case.
Gute alte Email
Die gute alte Email, ein treuer Begleiter aus der Welt der Informationstechnik – leider aber auch häufig für Sachen wie Spam, oder Phishing missbraucht.
Der treue Überbringer als praktische Taube der Neuzeit ist so gut wie jedem Computernutzer bekannt.
Schön ist es vor allem, wenn wir die typischen Aufgaben aus den verschiedensten Bereichen dadurch automatisieren können.
VBScript Email CDO Message
Genau hier kommt dann die CDO Message in’s Spiel, Welche es uns ermöglicht, eine Email via VBScript zu versenden.
Neben den gängigen Eigenschaften einer Email, wie: Betreff, Empfänger, Absender und den Inhalt, können wir auch weitere Einstellungen festgelegt werden.
Dazu zählen z. B. noch die SMTP–Server und Port Kombination, sowie die Benutzerkennung + Passwort.
Code – VBScript Email senden
Schauen wir uns hier nun die einzelnen Bestandteile des zu verwendenden Codes an.
Dabei erstellen wir zuerst ein Message–Objekt und konfigurieren es anschließend, danach wird die Nachricht versendet.
Email-Objekt erstellen
Im ersten Schritt erstellen wir das Email-Objekt, Welches durch die „CreateObject“-Funktion entsteht:
Set email = CreateObject("CDO.Message")
Basis-Informationen der Email
Danach bestücken wir die Message mit ein paar grundlegenden Informationen:
email.Subject = "The Subject" email.From = "<TheSenderEmail@domain.com>" email.To = "<TheReceiverEmail@otherdomain.com>"
Beginnend in der ersten Zeile mit dem Betreff, gefolgt von Absender & Empfänger setzen wir die wichtigsten Basis-Informationen.
Textinhalt
In der letzten Zeile, setzen wir den Textinhalt der Email:
email.TextBody = "This is my Email content!"
Alternativ dazu, können wir auch die „HTMLBody„-Eigenschaft verwenden, um HTML-Inhalt zu verwenden:
email.HTMLBody = "<h1>Html headline, yay!<h1>"
Server-Konfiguration
Im nächsten Schritt müssen wir uns an die SMTP–Server spezifische Konfiguration machen.
Setze am besten folgende Zeile ganz an den Anfang des Scripts, da wir den Wert dahinter jetzt sehr oft benötigen:
Dim configSchema configSchema = "https://schemas.microsoft.com/cdo/configuration/"
Als nächstes definieren wir den „sendusing„-Wert, Welcher die Art des Versands angibt:
email.Configuration.Fields.Item(configSchema & "sendusing") = 2
Danach stellen wir ein paar SMTP-Einstellungen ein, darunter: Server, Port und ob eine Authentifizierung verwendet werden soll:
email.Configuration.Fields.Item(configSchema & "smtpserver") = "smtp.domain.com" email.Configuration.Fields.Item(configSchema & "smtpserverport") = 25 email.Configuration.Fields.Item(configSchema & "smtpauthenticate") = 1
Benutzerkennung angeben
Im nächsten Schritt, geben wir die Benutzerdaten wie den Nutzernamen und das zugehörige Passwort an:
email.Configuration.Fields.Item(configSchema & "sendusername") = "yourusername" email.Configuration.Fields.Item(configSchema & "sendpassword") = "yourpassword"
Safety first – SSL
In den letzten beiden Schritten setzen wir noch die SSL-Einstellung..
email.Configuration.Fields.Item(configSchema & "smtpusessl") = True
und updaten die konfigurierten Werte durch die Update-Methode:
email.Configuration.Fields.Update()
Anhänge hinzufügen
Wenn man möchte, kann man der Email auch Anhänge hinzufügen:
email.AddAttachment("<TheFilePath>")
Zum Schluss können wir die Email nun durch den Aufruf der Send-Methode versenden:
email.Send()
Kompletter Code
Hier findest Du den kompletten Code, bereit zum Kopieren!
Dim configSchema configSchema = "https://schemas.microsoft.com/cdo/configuration/" Set email = CreateObject("CDO.Message") email.TextBody = "This is my Email content!" ' email.HTMLBody = "<h1>Html headline, yay!<h1>" email.Configuration.Fields.Item(configSchema & "sendusing") = 2 email.Configuration.Fields.Item(configSchema & "smtpserver") = "smtp.domain.com" email.Configuration.Fields.Item(configSchema & "smtpserverport") = 25 email.Configuration.Fields.Item(configSchema & "smtpauthenticate") = 1 email.Configuration.Fields.Item(configSchema & "sendusername") = "yourusername" email.Configuration.Fields.Item(configSchema & "sendpassword") = "yourpassword" email.Configuration.Fields.Item(configSchema & "smtpusessl") = True email.Configuration.Fields.Update() email.Send()