Mail Objekt
Zuletzt geändert: 10.02.2026 12:00

Mail-Objekt (iScript) #

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.

Eigenschaften #

Subject #

property Subject: string read/write

Betreffzeile der E-Mail.

Body #

property Body: string read/write

Nachrichtentext der E-Mail.

ShowDialog #

property ShowDialog: Boolean read/write

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

Wert Verhalten
False Mail wird ohne Benutzeroberfläche direkt versendet
True Mail-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.

Parameter Beschreibung
RecipName Anzeigename des Empfängers (z.B. “Max Mustermann”)
RecipAddress E-Mail-Adresse des Empfängers (z.B. “max@example.de”)

Rückgabewert: True bei Erfolg, False bei Fehler.

AddAttachment #

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

Fügt einen Dateianhang hinzu.

Parameter Beschreibung
Pathname Vollständiger Pfad zur Datei (z.B. "C:\Temp\Export\rechnung.pdf")
DropFile Wenn True, wird die Datei nach dem Versand gelöscht
FileName Alternativer Dateiname für den Anhang. Leer ("") = Originalname

Rückgabewert: True bei Erfolg, False bei Fehler.

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

Send #

function Send: Boolean

Versendet die E-Mail. Je nach Einstellung von ShowDialog wird die Mail direkt versendet oder ein Dialog angezeigt.

Rückgabewert: True bei erfolgreichem Versand, False bei Fehler.

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 #