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 #
- ZIPLIB-Objekt - ZIP-Archive erstellen und entpacken
- Client.Print - Drucken und Druckausgabe