E-Mail Logging - Kleine Debug-Funktion.

E-Mail Logging - Kleine Debug-Funktion.

  • Comments 2

Die E-Mail Protokollierung protokollieren die über Microsoft Exchange Server und Outlook verschickten
E-Mails zur gemeinsamen Nutzung in Microsoft Dynamics NAV.

Wichtig ist zu wissen, das nicht alle E-Mails in NAV geloggt werden. Es gibt einige Ausnahmen, wie z.B. wenn eine E-Mail mit dem Status “Persönlich” oder “Vertraulich” versehen ist oder der Absender und/oder Empfänger im NAV System unbekannt ist.

Die nicht geloggten E-Mails werden automatisch endgültig gelöscht.

Für Debug oder Recherchegründen kann es aber sinnvoll sein die vom E-Mail Logging Prozess automatisch gelöschten E-Mails in einen weiteren Ordner auf dem Exchange zu speichern.

Aus diesem Grund habe ich die E-Mail Logging Funktion ein wenig erweitern.

Das Objekt finden Sie in TXT Form im Anhang – Ich habe in der Textdatei am Ende die letzte } gelöscht, so das die Objekte nicht einfach ohne manuellen Zutun eingelesen werden könne. Bitte fügten Sie am Ende die } hinzu nachdem Sie die drei folgenden Objekte aus Ihrer Datenbank gesichert haben.

Folgende Standard Objekte wurden angepasst:

Table 5079
Form 5094
Codeunit 5064

Anbei ein kurzer Überblick über die Funktionsweise der kleine Erweiterung.

In Outlook/ Exchange habe ich die bekannten Ordner Queue, Storage und neu Storage2 erstellt. In dem Ordner Storage2 werden die vom System normalerweise gelöschten E-Mails abgelegt.

Outlook Folder

In der Form “Marketing & Vertrieb Einrichtung” habe ich ein neues Feld für den zusätzlichen Speicherordner für Outlook/Exchange Server hinzugefügt. Sowie ein Boolean Feld welches die Debug-Funktion aktiviert/deaktiviert.

MarketingEinrichtung

Die Codeunit 5064 habe ich mit einer weiteren Funktion “CopyToSave” erweitert und im E-Mail Logging Prozess aufgerufen:

CopyToSave(VAR CDOQueueMessage : Automation "'Microsoft CDO 1.21 Library'.Message";VAR CDOSaveMessage : Automation "'Microsoft CDO 1.21
IF ISCLEAR(CDOHandler) THEN
  CREATE(CDOHandler,TRUE,TRUE);
CDOHandler.ClearIDs;

StoreIDPart := '';
EntryIDPart := '';

RMSetup.CALCFIELDS("Save Folder Store ID","Save Folder Entry ID");
RMSetup."Save Folder Store ID".CREATEINSTREAM(StoreID);
RMSetup."Save Folder Entry ID".CREATEINSTREAM(EntryID);

WHILE NOT StoreID.EOS DO BEGIN
  StoreID.READTEXT(StoreIDPart,250);
  CDOHandler.AddStoreIDPart(StoreIDPart);
END;

WHILE NOT EntryID.EOS DO BEGIN
  EntryID.READTEXT(EntryIDPart,250);
  CDOHandler.AddEntryIDPart(EntryIDPart);
END;

CDOSaveMessage := CDOHandler.CopyTo(CDOQueueMessage);

 

These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

Mit freundlichen Grüßen

Sebastian Röttel

Microsoft Dynamics Germany

Microsoft Customer Service and Support (CSS) EMEA

Attachment: E-Mail_Logging_Debug.txt
Leave a Comment
  • Please add 4 and 6 and type the answer here:
  • Post
  • Just make sure your changes complies with legal requirements in your country. In Denmark the above solution could be considered a violation of privacy and the developer could be held accountable, even if directed to make it by the customer or a superior...

  • Hi Peter, thanks for the valuable hint!

    I totally agree that local legal aspects need to be taken into consideration.

    The idea behind the debug function is to find mails with special characters or something similar which prevents e-mail logging to log the mails. This should not be a way to monitor employee’s e-mails.

Page 1 of 1 (2 items)