Mail
Zuletzt geändert: 28.02.2026 18:13

Mail #

Das Mail-Objekt ermöglicht den Versand von E-Mails aus VBScript heraus. Es kapselt den in den EULANDA-Einstellungen hinterlegten Mail-Provider und verwendet damit dieselbe Konfiguration wie die Funktion “Drucken > Mail”.

Set Mail = Client.CreateObject("MAIL")

Hinweis: In der Regel kann nur ein einziges Attachment pro Mail angehängt werden. Die Eigenschaft ShowDialog sollte immer explizit gesetzt werden, da das Standardverhalten je nach Mail-Provider variieren kann.

Übersicht #

Eigenschaften #

EigenschaftTypBeschreibung
SubjectstringBetreffzeile der E-Mail
BodystringNachrichtentext der E-Mail
ShowDialogBooleanSteuert, ob ein Mail-Dialog angezeigt wird (immer explizit setzen!)

Methoden #

MethodeRückgabeBeschreibung
AddRecipient(Name, Adresse)BooleanEmpfänger hinzufügen
AddAttachment(Pfad, DropFile, Dateiname)BooleanDateianhang hinzufügen
SendBooleanE-Mail versenden
CheckValidPrüft ob Mail-Provider eingerichtet ist

Eigenschaften #

ShowDialog #

Steuert, ob beim Versand ein Mail-Dialog angezeigt wird.

WertVerhalten
FalseMail wird ohne Benutzeroberfläche direkt versendet
TrueMail-Dialog des konfigurierten Providers wird angezeigt, Benutzer kann vor dem Senden noch Änderungen vornehmen

Wichtig: Diese Eigenschaft sollte immer explizit gesetzt werden, da das Standardverhalten je nach konfiguriertem Mail-Provider unterschiedlich sein kann.

Methoden #

AddRecipient #

function AddRecipient(RecipName: string, RecipAddress: string): Boolean

Fügt einen Empfänger hinzu.

ParameterBeschreibung
RecipNameAnzeigename des Empfängers (z.B. “Max Mustermann”)
RecipAddressE-Mail-Adresse des Empfängers (z.B. “max@example.de”)

AddAttachment #

function AddAttachment(Pathname: string, DropFile: Boolean, FileName: string): Boolean

Fügt einen Dateianhang hinzu. Es sollte in der Regel nur ein Attachment pro Mail hinzugefügt werden, da nicht alle Mail-Provider mehrere Anhänge unterstützen.

ParameterBeschreibung
PathnameVollständiger Pfad zur Datei
DropFileWenn True, wird die Datei nach dem Versand gelöscht
FileNameAlternativer Dateiname für den Anhang. Leer ("") = Originalname

Send #

function Send: Boolean

Versendet die E-Mail. Je nach Einstellung von ShowDialog wird die Mail direkt versendet oder ein Dialog angezeigt. Gibt True bei Erfolg zurück.

CheckValid #

procedure CheckValid

Prüft, ob der konfigurierte Mail-Provider gültig und einsatzbereit ist. Löst einen Fehler aus, wenn kein Mail-Provider eingerichtet ist.

Beispiele #

A. Mail ohne Dialog versenden #

Option Explicit

Dim Mail
Set Mail = Client.CreateObject("MAIL")

Mail.ShowDialog = False
Mail.Subject = "Ihre Rechnung"
Mail.Body = "Sehr geehrter Kunde," & vbCrLf & vbCrLf & _
  "anbei erhalten Sie Ihre Rechnung." & vbCrLf & vbCrLf & _
  "Mit freundlichen Grüßen"

Mail.AddRecipient "Max Mustermann", "max@example.de"
Mail.AddAttachment "C:\Temp\Export\rechnung.pdf", False, ""

If Mail.Send Then
  ellib.ShowMessage "Mail wurde versendet!"
Else
  ellib.ShowMessage "Fehler beim Mailversand!"
End If

Set Mail = Nothing

B. Mail mit Dialog anzeigen #

Option Explicit

Dim Mail
Set Mail = Client.CreateObject("MAIL")

Mail.ShowDialog = True
Mail.Subject = "Angebot"
Mail.Body = "Anbei unser Angebot."

Mail.AddRecipient "Firma ABC", "info@abc.de"
Mail.AddAttachment "C:\Temp\Export\angebot.pdf", False, ""

Mail.Send

Set Mail = Nothing

C. Mail mit temporärer Datei (DropFile) #

Option Explicit

' Temporäre Datei erzeugen
Dim sTempFile
sTempFile = "C:\Temp\export_" & Replace(CStr(Now), ".", "-") & ".csv"
ellib.SaveString "Artikelnr;Bezeichnung;Preis" & vbCrLf & "A001;Widget;9,99", sTempFile

' Mail versenden, temporäre Datei danach automatisch löschen
Dim Mail
Set Mail = Client.CreateObject("MAIL")

Mail.ShowDialog = False
Mail.Subject = "Artikelliste"
Mail.Body = "Anbei die aktuelle Artikelliste."
Mail.AddRecipient "Einkauf", "einkauf@example.de"
Mail.AddAttachment sTempFile, True, "Artikelliste.csv"

Mail.Send

Set Mail = Nothing

D. Prüfung ob Mail-Provider eingerichtet ist #

Option Explicit

Dim Mail
Set Mail = Client.CreateObject("MAIL")

On Error Resume Next
Mail.CheckValid
If Err.Number <> 0 Then
  ellib.ShowMessage "Kein Mail-Provider eingerichtet! " & _
    "Bitte in den EULANDA-Einstellungen konfigurieren."
  Set Mail = Nothing
  WScript.Quit
End If
On Error GoTo 0

' Weiter mit Mailversand...
Mail.ShowDialog = False
Mail.Subject = "Test"
Mail.Body = "Testmail"
Mail.AddRecipient "Test", "test@example.de"
Mail.Send

Set Mail = Nothing

Konfiguration #

Der Mail-Provider wird in den EULANDA-Anwendungseinstellungen konfiguriert. Das Mail-Objekt verwendet automatisch denselben Provider, der auch bei “Drucken > Mail” zum Einsatz kommt. Eine separate Konfiguration im Skript ist nicht erforderlich.

Siehe auch #