E-Mails direkt über einen SMTP-Server verschicken

Die Codeunit 400 SMTP Mail stellt Funktionen zum Versenden von E-Mails bereit. Ein installierter Mail-Client wie Microsoft Outlook® ist deshalb dann nicht mehr erforderlich.

Mit Dynamcis NAV 5 (Navision 5) ist die Codeunit 400 „SMTP Mail“ 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:

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;

SMTP ist in diesem Beispiel eine Variable vom DataType „Codeunit“ und Subtype „SMTP Mail”.

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.


 

Zurück zur Tutorialübersicht.