VBScript Email senden

VBScript Email senden
VBScript Email senden

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 SMTPServer 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 MessageObjekt 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 SMTPServer 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()

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert