Codeunit „SMTP Mail“
Mit Microsoft Dynamics NAV 5 (Navision 5) ist die Codeunit „SMTP Mail“ (ID: 400) gekommen. Sie bietet uns Funktionen zum Versenden von E-Mails direkt über einen SMTP-Server.
Im Modul „Verwaltung“ unter „IT Verwaltung“ – „Allgemeine Einrichtung“ müssen einmalig unter dem Punkt „SMTP-Mail-Einrichtung“ die Einstellungen zum SMTP-Server hinterlegt werden.
Kommen wir nun zu der neuen Codeunit 400. Diese stellt uns die folgenden Funktionen zur Verfügung:
- CreateMessage
- Send
- AddRecipients
- AddCC
- AddBCC
- AppendBody
- AddAttachment
In den meisten Fällen sind die beiden ersten Funktionen (CreateMessage
, Send
) ausreichend um eine E-Mail zu erzeugen und zu verschicken. Das könnte dann zum Beispiel so aussehen:
SMTP.CreateMessage( 'Navision24', 'info@navision24.de', 'info@navision24.de', 'Dynamics NAV', 'Dies ist eine Test-E-Mail', FALSE); SMTP.Send;
Die Funktion CreateMessage erwartet die folgenden sechs Parameter:
- Absender Name
- Absender E-Mail-Adresse
- Empfänger E-Mail-Adresse
- E-Mail Betreff
- E-Mail Text (maximal 1024 Zeichen)
- HTML E-Mail ja/nein
Das Versenden einer E-Mail im HTML-Format könnte dann so aussehen:
SMTP.CreateMessage( 'Navision24', 'info@navision24.de', 'info@navision24.de', 'Dynamics NAV', '<h1>Dies ist eine Test-E-Mail</h1> <p>Bye, bye!</p>',TRUE); SMTP.Send;
Möchten Sie mehrere Empfänger eintragen, können Sie die Funktion AddRecipients
nutzen:
SMTP.AddRecipients('info2@navision24.de'); SMTP.AddRecipients('info3@navision24.de');
Um einen oder mehrere Empfänger ins CC bzw. BCC zu stellen muss die Funktion AddCC
bzw. AddBCC
genutzt werden:
SMTP.AddCC('info4@navision24.de'); SMTP.AddBCC('info5@navision24.de');
Um einen E-Mail-Text zu nutzen der aus mehr als 1024 Zeichen besteht, muss die Funktion AppendBody
genutzt werden:
SMTP.AppendBody('Zusätzlicher Text in der E-Mail!');
Und letztendlich können auch beliebig viele Dateianhänge mit der E-Mail verschickt werden. Hierzu muss die Funktion AddAttachment
genutzt werden:
SMTP.AddAttachment('C:\Budget.xls');
Zusammenhängend könnte der C/AL-Code so aussehen:
SMTP.CreateMessage( 'Deine Firma AG', 'it@deinefirma.de', 'chef@deinefirma.de', 'Dynamics NAV', '', TRUE); SMTP.AddCC('sekretärin@deinefirma.de'); SMTP.AppendBody('<p>Im Anhang die monatliche Budget-Datei.</p>'); SMTP.AppendBody('<p>Gruß, eure IT-Abteilung.</p>'); SMTP.AddAttachment('C:\Budget.xls'); SMTP.Send;
In dem o. g. Beispiel wird eine E-Mail mit einer Excel-Datei an den „Chef“ und an die „Sekretärin“ verschickt.
Der große Vorteil gegenüber der Codeunit 397 Mail ist der, dass hier kein lokales E-Mail-Programm beim Navision-Benutzer installiert sein muss. So können E-Mails bei bestimmten Aktionen still und heimlich im Hintergrund verschickt werden.