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.

SMTP-Mail-Einrichtung in Dynamics NAV

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 (CreateMessageSend) 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:

  1. Absender Name
  2. Absender E-Mail-Adresse
  3. Empfänger E-Mail-Adresse
  4. E-Mail Betreff
  5. E-Mail Text (maximal 1024 Zeichen)
  6. 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.