Auf anderes Postfach zugreifen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Auf anderes Postfach zugreifen

    Hallo,

    ich kopiere mit einem Script Mails aus Postfächern. Momentan geht das aber nur bei dem Postfach des Users mit dem ich angemeldet bin. Gibt es hier auch die Möglichkeit auf das Postfach eines anderen Users, mittels Benutzername und Passwort, zuzugreifen?

    VB.NET-Quellcode

    1. ns.AddStore(BACKUP_PST_PATH)
    2. oFolder = ns.Session.Folders.GetLast()
    3. oMailbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox).Parent
    4. For Each folder As Outlook.Folder In oMailbox.Folders
    5. 'If folder.DefaultItemType <> Microsoft.Office.Interop.Outlook.OlItemType.olMailItem And folder.FolderPath <> oFolder.FolderPath Then
    6. If folder.FolderPath <> oFolder.FolderPath Then
    7. folder.CopyTo(oFolder)
    8. End If
    9. Next


    Für Hilfe wäre ich dankbar!
    Nur mit Administratorrechten.
    Die kannst Du Dir aber bei Programmstart holen lassen.
    Such mal nach Programm mit Administratorrechten starten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Als Administrator brauchst Du keine Login-Information.
    Deswegen ja die Administrarorrechte.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ?( ?( ?(
    Meinst Du vom Server runterladen oder aus dem Userverzeichnis kopieren?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ich möchte das ganze postfach in eine psd kopieren.
    das funktioniert mit obigem code auch, aber eben nur für mein postfach. ich hab aber noch 50 andere, die ebenfalls jeweils in eine psd-datei sollen. ich will mich aber nicht immer abmelden und mit éinem anderen account anmelden müssen. desshalb würde ich im programm gerne mitgeben können, welches postfach er kopieren soll.

    RodFromGermany schrieb:

    Meinst Du vom Server runterladen oder aus dem Userverzeichnis kopieren?

    Liegen die Daten alle auf Deinem Rechner?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    nemesis schrieb:

    Die Postfächer liegen auf einem Exchange Server.
    Du musst dir auf dem Exchange-Server die Datenfreigabe für diese Postfächer geben lassen.

    Das kann der jeweilige Besitzer auch von seinem Outlook aus bewerkstelligen:
    Rechter Mausklick auf das Postfach ... Freigabeberechtigungen ändern

    Gilt für Exchange 2003: msexchangefaq.de/admin/mbrechte.htm
    Bei Exchange 2010 ist es vom Prinzip her ähnlich.

    Sprich mit deinem Exchange-Admin über dein Problem.
    Je nachdem wie er die Berechtigungen aufgesetzt hat, reicht es, wenn er dich in die richtige Gruppe einträgt.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „petaod“ ()

    petaod schrieb:

    nemesis schrieb:

    Die Postfächer liegen auf einem Exchange Server.
    Du musst dir auf dem Exchange-Server die Datenfreigabe für diese Postfächer geben lassen.

    Das kann der jeweilige Besitzer auch von seinem Outlook aus bewerkstelligen:
    Rechter Mausklick auf das Postfach ... Freigabeberechtigungen ändern

    Gilt für Exchange 2003: msexchangefaq.de/admin/mbrechte.htm
    Bei Exchange 2010 ist es vom Prinzip her ähnlich.

    Sprich mit deinem Exchange-Admin über dein Problem.
    Je nachdem wie er die Berechtigungen aufgesetzt hat, reicht es, wenn er dich in die richtige Gruppe einträgt.

    genau das will ich ja nicht, für jeden user eine Einstellung vornehmen. Mein Admin hat mir die Aufgabe gegeben eine Liste an Postfächern (60 oder 70) zu archivieren, aber ich bin zu faul und will das mit einem VB-Programm lösen. Ist es nicht möglich in VB den Benutzer für den Exchange-Server mitzugeben?

    hm, ich hlaube ich habe hier etwas in der Richtung gefunden ... nur, wo kriege ich das mapi her?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nemesis“ ()

    Nicht über Outlook-Automation, da Outlook nur ein Exchange-Konto pro Benutzer-Profil unterstützt.

    Die Philosophie von Outlook/Exchange ist nun mal eine Client-Server-Lösung, bei der ein Benutzer genau ein Exchange-Konto hat und der Zugriff auf andere Konten durch Serverberechtigungen gesteuert wird.
    Lass dir vom Exchange-Admin eine Read-Berechtigung für alle Mailboxen eintragen oder mach's von Hand.


    Alternativ kannst du dir auch eine IMAP-Library suchen, bei der du den Benutzer wechseln kannst.
    Vielleicht wirst du hier fündig.

    Edit: Ja, mit CDO könnte es auch gehen, aber wie gesagt, natürlich ohne die Outlook-Client-Objekte.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --