WSH - Mail per CDO Senden

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der Übernahme.

Quelle: Microsoft Webseite: Exchange 2000 ASP Guide

Das auch Viren und andere Programme den Zugriff früher genutzt haben, hat Microsoft entsprechende Warnungen ergänzt. Siehe auch Outlook Sicherheitswarnung

Diese kleine Skript sendet eine Mail auf dem Server per CDO.

set objSendMail = CreateObject("CDONTS.NewMail")
objSendMail.From = "administrator@example.com"
objSendMail.To = "Testuser@example.com"
objSendMail.Subject = "Sent from Script!"
objSendMail.Body = "Testmail per CDONTS"
objSendMail.Send
set objSendMail = Nothing
WScript.Echo "Sent!"

Achtung: Die Verfügbarkeit von CDONTS ist nur bis Windows 2000 gewährleistet. Ab Windows 2003 ist CDOSYS das Objekt der Wahl. Der Code sieht aber nur gering anders aus:

dim objSendMail
set objSendMail = CreateObject("CDO.Message")
objSendMail.From = "administrator@example.com"
objSendMail.To = "Testuser@example.com"
objSendMail.Subject = "Sent from Script!"
objSendMail.TextBody = "Testmail per CDOSys"
objSendMail.Send
set objSendMail = Nothing

Übrigens landet eine so versendete Mail einfach als Datei im Pickup Verzeichnis des lokal installierten SMTP-Servers und wird darüber dann auch weiter versendet. für den reibungslosen Versand müssen Sie daher den virtuellen SMTP-Server korrekt konfigurieren und gestartet habe.

Versand per MAPI

Neben dem Versand per CDO können Sie natürlich eine Mail auch komplett per MAPI versenden. Über das MAPI-Objektmodell müssen Sie aber auf dem Client ein entsprechende Profil konfigurieren und einen Mailserver einsetzen. Im Gegenzug ersparen Sie sich natürlich den lokalen SMTP-Server.

Allerdings ist auch der Code etwas aufwändiger, da Sie sich erst mit der MAPI-Session verbinden müssen etc. Diesen Weg nutze ich z.B. mit End2End-SMTPflow, da ich hier nicht nur Mail senden, sondern auch wieder auslesen muss. Da muss ich dann über ein Postfach gehen. Ansonsten ist CDOSYS sicher der eleganteste Weg aus einem administrativen Script eine Mail zu versenden.

Links