Good to Know Database

E-Mails über Visual Basic Script versenden


Das folgende Visual Basic Script zeigt wie Sie eine E-Mail versenden können. Dabei git es zwei Möglichkeiten, welche in dem Script gezeigt werden. Über das Konfigurationsfeld http://schemas.microsoft.com/cdo/configuration/sendusing können Sie sich zwischen den beiden Methoden entscheiden. Bei cdoSendUsingPickup (1) wird die E-Mail in einem lokalen Verzeichnis abgelegt, von wo ein lokal installierter SMTP-Service die E-Mail entgegen nimmt. Durch cdoSendUsingPort (2) wird die E-Mail über das Netzwerk an einen SMTP-Server übergeben. Je nachdem welche Methode Sie wählen müssen Sie gegebenenfalls einige Zeilen im folgenden Skript kommentieren beziehungsweise auskommentieren.

Durch die Methode objMail.AddAttachment, welche hier standardmäßig nur als Kommentar eingetragen ist, können Sie der E-Mail eine Datei als Anhang beifügen.

Alle weiteren Informationen zum folgenden Visual Basic Script können Sie den Kommentaren im Skript entnehmen.

Option Explicit

' Declaration of variable
Dim objMail

' Create mail object
Set objMail = WScript.CreateObject("CDO.Message")

' Sender of the mail
objMail.From = "noreply@home.lan"

' Recipient of the mail
objMail.To = "georg@home.lan"

' Subject of the mail
objMail.Subject = "Automatische Nachricht"

' Message of the mail
objMail.Textbody = "Dies ist eine automatisch generierte Testnachricht."

' Add attachment to the mail
'objMail.AddAttachment "C:\attachment.zip"

' Mechanism to be used to send the mail
' 1: Send messages by using the locally installed SMTP service (cdoSendUsingPickup)
' 2: Send messages by using the SMTP service on the network (cdoSendUsingPort)
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

' Full path to the local SMTP service pickup directory
' Only relevant if sendusing is set to cdoSendUsingPickup (1)
'objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\Inetpub\mailroot\Pickup"

' Domainname, hostname or IP address of the mail server
' Only relevant if sendusing is set to cdoSendUsingPort (2)
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.home.lan"

' Port on which the SMTP service is listening (typically SMTP uses TCP port 25)
' Only relevant if sendusing is set to cdoSendUsingPort (2)
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

' Enable SMTP authentication if required
' Only relevant if sendusing is set to cdoSendUsingPort (2)
' 0: perform no authentication
' 1: use the basic authentication mechanism (clear text)
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0

' Secure connection with Secure Sockets Layer (SSL)
' Only relevant if sendusing is set to cdoSendUsingPort (2)
' true: use SSL when posting messages over the network using SMTP
' false: do not use SSL when posting messages over the network using SMTP
'objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true

' Username used to authenticate on the SMTP server over the network
' Only relevant if sendusing is set to cdoSendUsingPort (2)
'objMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"

' Password used to authenticate on the SMTP server over the network
' Only relevant if sendusing is set to cdoSendUsingPort (2)
'objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"

' Reply e-mail address for the message when sending messages using a SMTP service
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/senduserreplyemailaddress") = "georg@home.lan"

' Number of seconds that can elapse without a response from the SMTP server before the connection attempt is aborted
' Default value is 30 seconds
objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30

' Update and activate the configuration
objMail.Configuration.Fields.Update

' Send the mail
objMail.Send

' Deallocate mail object
Set objMail = Nothing

' Quit Visual Basic Script
WScript.Quit()


Dieser Eintrag wurde am 09.02.2013 erstellt.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_29_2091.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer