3. September 2014 15:25
Hallo zusammen,
ein Kunde hatte folgenden Wunsch:
Navision soll Rechnungen per Outlook anhängen und die Mail für den Kunden "vorarbeiten" - nichts wildes wie bekannt sein sollte.
Der zweite part ist doch schon eher ne harte Nuss. Die Mails sollen mit Empfangs- bzw. Lesebestätigung verschickt werden und ein NAS-Job soll regelmäßig ein Postfach nach diesen Bestätigungen durchforsten um dann in Navision zu markieren "Kunde hat Rechnung erhalten".
Meine Probleme dabei sind folgende:
- Ich bin der Anfänger vor dem Herrn in Punkto Automations/DotNet
- Ich weiß nicht einmal ob ein NAS-User ohne ein offenes Outlook oder zumindest MAPI auch nur irgendwas von einem Mailserver abholen kann
Mein bisheriger "Exprimentalcode" sieht wie folgt aus: (kann so einigen wahrscheinlich bekannt vorkommen ;))
- Code:
---------------------------VAR------------------------
Name DataType Subtype Length
outlookapplication Automation 'Microsoft Outlook 14.0 Object Library'.Application
outlookemail Automation 'Microsoft Outlook 14.0 Object Library'.MailItem
outlooknamespace Automation 'Microsoft Outlook 14.0 Object Library'.NameSpace
outlookitems Automation 'Microsoft Outlook 14.0 Object Library'.Items
outlookMAPIFolder Automation 'Microsoft Outlook 14.0 Object Library'.MAPIFolder
-------------------------------------------------------
IF ISCLEAR(outlookapplication) THEN
CREATE(outlookapplication,FALSE,TRUE);
outlooknamespace := outlookapplication.GetNamespace('MAPI');
outlooknamespace.Logon('','',FALSE,FALSE);
outlookMAPIFolder := outlooknamespace.GetDefaultFolder(6);
outlookitems := outlookMAPIFolder.Items;
i:=1;
endofloop:=outlookitems.Count;
WHILE i<=endofloop DO BEGIN
outlookemail:=outlookitems.Item(i);
MESSAGE(outlookemail.MessageClass());
i:=i+1;
END;
outlooknamespace.Logon('','',FALSE,FALSE);Hier habe ich schonmal versucht die ersten 2 Parameter mit meiner Domänenanmeldung zu füllen und auf dem PC von einem Kollegen somit mein Postfach abzurufen. Leider ignorierte outlook dies vollkommen.
MESSAGE(outlookemail.MessageClass());Wenigstens konnte ich feststellen, dass "REPORT.IPM.Note.IPNRN" als Rückgabewert hier eine Lesebestätigung markiert.
Vielleicht habe ich nen massiven Denkfehler bei dem Konstrukt des NAS-Users bzw. der Nutzeroberfläche die diesem User zur Verfügung steht, aber aktuell weiß ich beim besten Willen nicht wie ich einem NAS-User ein eigenes E-Mail-Konto hinzufügen könnte und damit aus der NAS die Anmeldung an Outlook/Exchange und die Abholung der Mails zu organisieren.
Wie man unschwer erkennen kann bin ich hier noch total am hakeln und schreibe hier einfach mal wieder was in der Hoffnung auf einen kleinen aber feinen Denkanstoß oder einen Experten der mir sagen kann ob ich das Projekt direkt knicken kann.
Mit freundlichen Grüßen
Sipa aka Paul