News combit Dev Blog

Signatur-Unterstützung für das eMail-Versandmodul

Veröffentlicht: Mittwoch, 7. August 2019 | 0 Kommentar(e)
 
Ein weiterer wichtiger Vorschlag unserer Community im Idea Place. Obwohl das Mail-Modul sehr flexibel ist und Mails über SMTP, MAPI und XMAPI versenden kann und dabei entweder den Mail-Dialog des Clients oder einen eigenen, integrierten Dialog verwenden kann, gab es bisher keine Möglichkeit, Outlook-Standardsignaturen an die gesendeten Mails anzuhängen. Microsoft hat jetzt endgültig den Wunsch abgelehnt, dieses Feature in der Outlook-MAPI-Implementierung hinzuzufügen. Es gab also definitiv Raum für Verbesserungen.

Die Verwendung ist absolut unkompliziert, setzen Sie einfach die Option Export.Mail.SignatureName entweder auf den Namen einer Outlook-Signatur oder auf einen vollständigen Pfad zu einer Datei mit Dateinamen, aber ohne Dateiendung. Wir erwarten dort mindestens zwei Dateien, eine mit der Endung *.htm und eine mit *.txt für jedes der eMail-Formate. Abhängig von der Art des Textes Ihrer Mail werden wir dann die zugehörige Signatur am Ende der Mail hinzufügen. Klingt einfach, war aber trotzdem eine Herausforderung (denken Sie z.B. an die Schwierigkeit, verschiedene HTML-Dateien zu mischen, um sich ein Bild zu machen). Um es deutlich zu machen – Outlook ist nicht erforderlich, damit diese Funktion funktioniert. Sie sollte mit jedem Mailclient funktionieren.

Auch die MailJob-Klassen und die LsMailSendFile-API unterstützen diese Funktion. Ein Code-Beispiel für .NET (im Prinzip von unserem bestehenden C#-Exportbeispiel):

// create export configuration
ExportConfiguration exportConfiguration = new ExportConfiguration(_exporterTarget, fileNameTb.Text, "simple.lst");
exportConfiguration.ShowResult = _showFileCheck.Checked;

LL.ExportOptions.Clear();
LL.ExportOptions.Add(LlExportOption.ExportSendAsMail, "1");
LL.ExportOptions.Add(LlExportOption.ExportMailTo, "combit GmbH <SMTP:llmailtest@combit.net>");
LL.ExportOptions.Add(LlExportOption.ExportMailSubject, "combit List & Label mail test");
LL.ExportOptions.Add(LlExportOption.ExportMailShowDialog, "1");
LL.ExportOptions.Add(LlExportOption.ExportMailSendResultAs, "text/html");
LL.ExportOptions.Add(LlExportOption.ExportMailProvider, "XMAPI");
LL.ExportOptions.Add(LlExportOption.ExportMailBody, "Test");
LL.ExportOptions.Add(LlExportOption.ExportMailHtmlBody, "<html><head></head><body>Test</body></html>");
LL.ExportOptions.Add(LlExportOption.ExportMailSignatureName, "standard");

// Start export
LL.Export(exportConfiguration);

In diesem Fall wird die Signatur nur durch ihren Namen referenziert. Daher wird sie aus dem Outlook-Signaturverzeichnis geladen (typischerweise %userprofile%\AppData\Roaming\Microsoft\Signatures). Die Ausführung des Codes liefert das gewünschte Ergebnis – meine Standardsignatur am Ende der erzeugten Mail:



Vielen Dank für diese Feature-Anfrage – geliefert. Haben Sie Erfahrungen mit unserem Forum und dem Idea Place gemacht? Wenn nicht, schauen Sie doch mal bei der Community vorbei. Wenn ja, wäre es toll, darüber in den Kommentaren zu lesen.




Autor: Jochen Bartlau
Entwicklungsleiter List & Label

Jochen Bartlau leitet als Geschäftsführer die Softwareentwicklung bei combit. Microsoft .NET und Agiles Projektmanagement sind zwei seiner Steckenpferde. Der technikbegeisterte Physiker verbringt seine Freizeit am liebsten mit seiner Familie.


  


Kommentare


Aktuell gibt es noch keine Kommentare zu diesem Blogbeitrag.

Ergänzen Sie hier Ihren Kommentar
 
 
 
 
 

Lassen Sie sich über neue Kommentare zu diesem Blogbeitrag informieren


 
+49 (0) 7531 90 60 10