E-Mails aus Dynamics AX versenden

Um die Prozesse bei unseren Kunden weiter zu verbessern, sollte eine Möglichkeit geschaffen werden, um diverse Belege (Auftragsbestätigungen, Lieferscheine, Rechnungen)  per PDF-Anhang in einer E-Mail an den Kunden zu versenden. Durch die fehlende Anbindung von Outlook (vor ein paar Tagen habe ich über das Problem der Outlook-Integration in AX berichtet) musste also eine andere Lösung für das Versenden von E-Mails aus Dynamics AX heraus gefunden werden. Im Folgenden gebe ich eine Übersicht über die notwendigen Schritte.

AX stellt die statische Methode SysEmailTable::sendMail(SysEmailId, LanguageId, emailAddr, Mappings, filename) bereit, um aus x++-Code E-Mails versenden zu können. Damit kann man praktischerweise die E-Mail-Vorlagen von AX nutzen, welche nach den eigenen Bedürfnissen erstellt werden können. So haben wir unter anderem bei den Lieferbestätigungen einen Link zur Paketverfolgung integriert, was bei den Kunden natürlich sehr gut ankommt.

Die eigentliche Herausforderung lag in der Erstellung des Anhangs. Der Report musste als PDF erstellt werden, wobei auch ein paar Änderungen in der internen PDFViewer-Klasse notwendig waren. Die Erstellung des PDFs lief auf dem Client, während das Versenden der E-Mail auf dem Server lief. Daher speichern wir das PDF auf einem Netzwerkpfad, um sowohl vom Client als auch vom Server darauf zugreifen zu können.

Insgesamt haben wir damit eine Möglichkeit geschaffen, den Kundenservice enorm zu verbessern.