Laden...

E-Mail-aktivierte öffentliche Ordner ausschließlich mit "Microsoft.Office.Interop.Outlook" ermitteln.

Letzter Beitrag vor 19 Tagen 11 Posts 373 Views
Thema geschlossen
E-Mail-aktivierte öffentliche Ordner ausschließlich mit "Microsoft.Office.Interop.Outlook" ermitteln.

Hallo,

gibt es eine Möglichkeit, E-Mail-aktivierte öffentliche Ordner ausschließlich mit Microsoft.Office.Interop.Outlook zu ermitteln? EWS oder PowerShell sollten nicht verwendet werden. Das Programm soll auf dem Arbeitsplatz laufen und das installierte Outlook nutzen.

Wenn ich einen E-Mail-aktivierten öffentlichen Ordner gefunden habe, sollte ich die sich darin befindlichen E-Mails auflisten.

Bisher scheitere ich daran. Z. B. habe ich folgende Methode:

// Rekursive Methode zum Auflisten der E-Mail-Adressen der E-Mail-aktivierten öffentlichen Ordner
static void ListPublicFolders(Outlook.Folder? folder, string indent)
{
    if (folder != null)
    {
        foreach (object obj in folder.Folders)
        {
            if (obj is Outlook.Folder)
            {
                Outlook.Folder? subFolder = obj as Outlook.Folder;
                
                if (subFolder != null && subFolder.DefaultItemType == Outlook.OlItemType.olMailItem)
                {
                    Outlook.MAPIFolder? parentFolder = subFolder.Parent as Outlook.MAPIFolder;
                    string              parentName   = parentFolder != null ? parentFolder.Name : "Kein Elternordner gefunden";
                    
                    Console.WriteLine($"{indent}- {subFolder.Name}: {parentName}");
                    
                    if (parentFolder != null)
                    {
                        Marshal.ReleaseComObject(parentFolder);
                    }
                }
                
                ListPublicFolders(subFolder, indent + "  ");
                
                if (subFolder != null)
                {
                    Marshal.ReleaseComObject(subFolder);
                }
            }
        }
    }
}

Die Abfrage

if (subFolder != null && subFolder.DefaultItemType == Outlook.OlItemType.olMailItem)

scheitert daran, dasssubFolder.DefaultItemTypeden WertOutlook.OlItemType.olPostItemlliefert, obwohl der öffentliche Ordner als E-Mail-aktivierter Ordner in Exchange eingerichtet wurde.

Hier speziell handelt es sich um Microsoft 365. In der Exchange-Verwaltung habe ich bei der Erstellung explizit den Haken "E-Mail-aktiviert" gesetzt. Daraufhin erhalte ich zwei weitere Menüpunkte: "Delegierung" und "E-Mail-Eigenschaften".  In "E-Mail-Eigenschaften" kann ich einen Alias und einen Anzeigenamen angeben. Voreingestellt ist in beiden Feldern "Bestellungen". Nun erwarte ich, dass der öffentlicher Ordner E-Mail-aktiviert ist und dessen E-Mail-Adressebestellungen@domäne.tldlautet.

Ich verstehe nicht, warum Outlook den Ordner falsch behandelt (ich kann nur Postings erstellen und keine Mails verschicken).

Vielleicht kann mir jemand auf die Sprünge helfen.

Danke und viele Grüße,

René

René

Wie kommst Du darauf, dass sich für einen Public Folder 'DefaultItemType' ändert, nur weil Du für den Ordner 'E-Mail-aktivierst'?

Die 'E-Mail-Aktivierung bedeutet doch IMHO nur, dass der Ordner unter eigener E-Mail-Adresse erreichbar ist und ggf. als Absender verwendet werden kann.

Ich verstehe nicht, warum Outlook den Ordner falsch behandelt (ich kann nur Postings erstellen und keine Mails verschicken).

Ich verstehe nicht ganz, was Du hier versuchst. Natürlich kannst Du im Ordner nur 'Postings' erstellen. Der Ordner selbst ist ja kein Postfach, was tatsächlich E-Mails verschicken kann. Du kannst nur aus deinem Postfach heraus E-Mails im Namen des Ordners verschicken - der Empfänger sieht dann den Ordner als 'Absender' und Antworten gehen in diesen Ordner.

BTW: Ich würde für solche Dinge immer nur EWS verwenden. Man tut sich deutlich leichter, hat mehr Möglichkeiten und ist nicht auf ein installiertes Outlook angewiesen.

@wcseller

Du schreibst:

BTW: Ich würde für solche Dinge immer nur EWS verwenden. Man tut sich deutlich leichter, hat mehr Möglichkeiten und ist nicht auf ein installiertes Outlook angewiesen

Das ist klar, aber löst dieses Problem nicht. Sonst hätte ich das nicht geschrieben.

Zitat von pollito

(..) EWS oder PowerShell sollten nicht verwendet werden.

@dannoe
Ich hoffe, ich muss mich nicht schuldig bekennen, einen Cross-Posting begangen zu haben...

Das Problem habe ich anderwärtig gelöst, was zur Aufgabenstellung sogar besser passt.

Danke und buen dia!

René

René

Zumindest erwähnen sollte man das Crossposting. Wenn jemand mit ähnlichem Problem dein Forenbeitrag findet, dann kann derjenige zumindest die anderen Crossposts nach weiteren Lösungen/Ideen durchsuchen.

Noch schöner wäre es natürlich, wenn die Lösung am Ende dann auch hier und in allen anderen Crossposts mitgeteilt wird.

Zitat von dannoe

Zumindest erwähnen sollte man das Crossposting. Wenn jemand mit ähnlichem Problem dein Forenbeitrag findet, dann kann derjenige zumindest die anderen Crossposts nach weiteren Lösungen/Ideen durchsuchen.

Noch schöner wäre es natürlich, wenn die Lösung am Ende dann auch hier und in allen anderen Crossposts mitgeteilt wird.

Jo, da hast du Recht. Normalerweise tue ich das auch. Ich weiß auch heute nicht mehr, warum ich das nicht tat. Sicher der Arbeitsdruck, wenn ich mich an das Projekt damals erinnere oder keine Lust, nachdem hier mit diesem Thema wie im Kindergarten umgangen wird Cross Posting – ich weiß es einfach nicht mehr.

René

@politico
Es gehört aus gutem Grund zu den Regeln des Forums, dass kein Crossposting geduldet wird.
Damit lässt du unnötig Leute doppelte und dreifach nach Lösungen suchen.
Und wie man sieht, hast du nicht mal bei allen die Lösung verteilt, hast also dein eigenes Posting nicht ernst genommen.

Diesen Regeln hast du auch mit deinem Beitritt zugestimmt.
Wenn dir die Regeln nicht gefallen, dann wäre es zukünftig besser, dass du hier einfach keine Crossposts mehr machst.
Wenn andere Platformen dies so dulden, ist dass deren Entscheidung.
Hier ist es aber unerwünscht, entsprechend wäre es auch im Interesse aller das du dich daran hältst.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

Hallo zusammen,

wie ich sehe, gibt es hier eine kleine, von mir nicht gewollte Diskussion über Crossposting. Lass uns das mal ganz entspannt angehen – vielleicht hilft das in der Zukunft.

Erhöhte Sichtbarkeit und schnellere Lösungen:
Mehr Augen sehen mehr. Wenn ich dieselbe Frage in mehreren Foren stelle, erreiche ich eine breitere Expertise. Das erhöht die Chance auf eine schnelle und passende Antwort. Ist doch effizient, oder?

Wissenstransfer:
Wenn ich irgendwo eine Lösung finde, teile ich sie in anderen Foren. So profitieren alle. Das ist doch der Sinn der Sache, Wissen zu verbreiten (siehe dazu nächsten Punkt).

Transparenz:
Ja, mea culpa, ich hab das Crossposting nicht erwähnt. Normalerweise tue ich das. Vielleicht war es, wie bereits erwähnt, der Arbeitsdruck oder die schiere Lustlosigkeit, mich wie im Kindergarten über Crossposting zu rechtfertigen.

Effizienz:
Mehrere Experten können gleichzeitig an einer Lösung arbeiten. Das spart Zeit und führt oft zu besseren Ergebnissen. Außerdem, wer will schon alle Eier in einen Korb legen?

Respekt:
Natürlich respektiere ich die Hilfe aller Forenmitglieder – ich habe mich immer korrekt und anständig bei jedem Helfenden bedankt. Wenn ich eine Lösung finde, teile ich sie überall, damit alle davon profitieren können.

Übrigens, zum Thema Regeln: Manchmal sind Regeln dafür da, um hinterfragt zu werden, besonders wenn sie die Effizienz und den Wissensaustausch behindern. Aber keine Sorge, ich werde in Zukunft darauf achten, Crossposting explizit zu erwähnen, um Missverständnisse zu vermeiden.

Außerdem: Klar, ich hätte schreiben können, dass ich die Frage auch woanders gestellt habe. Aber ehrlich gesagt, hatte sich jemand früher schon mal darüber mokiert, und ich hatte echt keine Lust auf kindische Diskussionen. In der Regel gebe ich die Lösung bekannt, aber durch den Arbeitsstress ist das leider untergegangen – man ist nur ein Mensch. So führte diese Crossposting-Regel dazu, dass das Forum selbst nichts davon hat. Vielleicht sollte man mit der Zeit gehen und solche antiquierten Regeln überdenken.

Liebe Grüße

René

René

Deine Argumente sind leider alle nicht stichhaltig.

Erhöhte Sichtbarkeit und schnellere Lösungen
Entfällt schon, weil nicht jeder Crossposter sich überhaupt die Mühe macht die Crossposts zu verknüpfen oder die Lösung zu teilen.
Auch arbeiten die Platformen nicht miteinander, es gibt also keinen gemeinsamen Ansatz.
Die User der jweiligen Platform müssen immer wieder bei 0 mit der Lösung anfangen, da es keine Gemeinsame Suche gibt.
Damit erzeugst du einen Mehraufwand bei Helfern.

Wissenstransfer
Kann auch nur passieren, wenn die Crossposts geteilt werden, was aber selten bis nie passiert.

Transparenz
Funktioniert auch nur, wenn die Crossposts geteilt werden.
Du selbst warst hier wieder das beste Beispiel, warum dies nicht gemacht wird.
Passiert auch locker zu 99% der Fälle nicht.

Effizienz
Gleiches Argument wie bei Punkt 1, ist einfach nicht gegeben und erzeugt nur Mehraufwand für alle Helfer.
Steht auch in den Regeln drin!

Respekt
Hat mit dem Thema wenig bis gar nichts zu tun.
Außer, dass die Forenregeln selbst Crossposting untersagen, du es aber denoch getan hast.
Im Endeffekt ist der Punkt also Bedeutungslos bzw. von dir selbst untergraben

Regeln
Diese werden gemacht, damit es einen gemeinsamen Konsens gibt.
Diesen hast du aber bewusst wieder gebrochen und damit auch kein Interesse an den Regeln gezeigt.
Wir haben hier und auch im Leben außerhalb des Internet aus gutem Grund Regeln, die wir alle einhalten wollen.
Wenn du den Drang hast, dies nicht zu tun, bist du hier eben falsch.
Damit greifst auch auch direkt Punkt 5 wieder an, da du keinen Respekt vor den Regeln zeigst, denen du zugestimmt hast.

Mit deinem letzten Absatz zeigst du ebenfalls, dass du weder Punkt 5 noch 6 ernst meinst.
Damit würgst du selbst eigentliche deinen Post wieder ab.

Das hat auch nichts mit kindischen Diskussionen zu tun sondern dem einhalten der Regeln, den du zugestimmt hast.
Und du brauchst auch nicht die Crossposts zu erwähnen, dann wird der Posting gleich gesperrt.
Am Besten wäre es, wenn du keine Posts mehr machst, wenn dein Ziel nur Crossposts sind.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

Hallo T-Virus,

ich glaube, da prallen Galaxien aufeinander 😃

Es tut mir echt leid, dass du dich von den Regeln so stark eingeengt fühlst. Aber hey, in einer Zeit, in der viele Foren gegen KI kämpfen, ist es doch schön, wenn sich noch Leute finden, die sich austauschen möchten. Regeln sind nun mal dazu da, um befolgt zu werden, nicht wahr? Auch wenn es manchmal schwerfällt, sollten wir uns alle bemühen, den "guten deutschen" Weg zu gehen und Regeln nicht als optional anzusehen – wo kämen wir denn hin?! Wer braucht schon Flexibilität und Anpassungsfähigkeit in einer sich ständig wandelnden Welt, wenn wir stattdessen stur auf Regeln pochen können?

Und ja, du hast völlig recht. Die Herausforderungen moderner Technologien machen es vielen Foren nicht leicht. Man sagt ja, dass künstliche Intelligenz auf dem Vormarsch ist, und vielleicht führt das dazu, dass echte menschliche Interaktionen immer seltener werden. Da ist es wirklich erfrischend, wenn sich noch Menschen wie du und ich die Zeit nehmen, sich auszutauschen und Wissen zu teilen.

Also, bitte weiter so! Möge deine Einhaltung der Regeln stets ein leuchtendes Beispiel für uns alle sein. Denn wir wissen ja: Ein Forum ohne Regeln ist wie ein Tag ohne Regen - voller Möglichkeit und Potenzial, aber irgendwie auch viel zu chaotisch.

In diesem Sinne alles Gute,

René

René

So Ansprachen sind absolut deplatziert und hat bei einem Gespräch auf Augenhöhe nichts zu suchen.

Daher ist hier zu.

Thema geschlossen