Giter VIP home page Giter VIP logo

Comments (12)

rwludwig avatar rwludwig commented on September 21, 2024 1

Hi Erik,

Updating to 5.2.0 has not resolved the issue, but logging and further exploration has revealed something interesting.

I'm still not able to find the folder structure I'm looking for from our in-place archive (notably, "Inbox" is missing from the archive_root tree), but I've found that all(?) the emails are stored in account.archive_root / "AllItems".

The messages in AllItems may only represent the first 100 GB before the online archive splits into another mailbox.

Do you have a suggestion of how I might discover what other mailboxes might be associated with this account via the auto-expanding archive? I couldn't make anything like that out from account.ad_response. I'll ask our IT admin to see if he can find the associated mailboxes and I'll comment here again if I learn anything.

Thank you for your time!
Wes

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024 1

Thanks for the update. I don't have any suggestions, unfortunately. I think your best bet is to work with your Exchange admin to work out where the remaining messages are located.

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024

Hey, sorry for the late reply.

Just to rule that out, did you try accessing the 6 archive folders with an earlier version of exchangelib? It could be related to #1222 Alternatively, you can see exactly what exchangelib is receiving and requesting if you enable debug logging.

I'm not very familiar with in-place archives, but it could be that the archive folders are placed in a different account than your primary account. In that case, Account.ad_response may contain information on where to access the archive folders.

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024

@rwludwig Did you get a chance to look at this again? exchangelib 5.2.0 contains a fix for #1222 so you could try that first.

from exchangelib.

rwludwig avatar rwludwig commented on September 21, 2024

Hi Erik,

Thank you for your response and the reminder!

I'll have a chance to try out your suggestions this week, and will report back here.

Much obliged,
Wes

from exchangelib.

geoffblack avatar geoffblack commented on September 21, 2024

It seems the problem is that account.archive_msg_folder_root is instantiated with root=Root instead of root=ArchiveRoot. I haven't quite worked out what's happening, but it appears to be in the folder resolution processing called from RootOfHierarchy.get_distinguished. At some point in the folder resolution process, ArchiveRoot is swapped out for Root. Funny enough, I see that a few days ago you switched get_distinguished to only take account instead of root because "just pass account here. We weren't using root anyway". Maybe that's part of the issue? I haven't tested to see if this affects other Archive well known folders.

Anyway, if we set account.archive_msg_folder_root._root = account.archive_root before operating on the ArchiveMsgFolderRoot, then we get a proper looking tree with all the children instead of only Top of Information Store as @rwludwig mentions in the initial report:

> print(account.archive_msg_folder_root.root.name)

root

> print(account.archive_msg_folder_root.tree())

Top of Information Store

> account.archive_msg_folder_root._root = account.archive_root
> print(account.archive_msg_folder_root.root.name)

archiveroot

> print(account.archive_msg_folder_root.tree())

Top of Information Store
├── Calendar
│   └── United States holidays
├── ExternalContacts
├── Files
├── Inbox
│   ├── AFolderOnlyInTheArchive
│   └── test folder
├── Outbox
├── PersonMetadata
├── RSS Subscriptions
├── Sent Items
├── Sync Issues
└── Tasks

from exchangelib.

rwludwig avatar rwludwig commented on September 21, 2024

Great find @geoffblack, thank you so much!

Manually setting account.archive_msg_folder_root._root = account.archive_root shows me all the folders I expect to see in the archive inbox.

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024

Can you try out the referenced commit? I believe it may fix the error.

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024

@rwludwig I just tested d9035d0 on an account with a public archive and it seems to fix the error. Can you try it out?

from exchangelib.

rwludwig avatar rwludwig commented on September 21, 2024

That's great! I'll take some time this week and test it, thank you so much!

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024

Changes are out in v5.3.0, BTW

from exchangelib.

ecederstrand avatar ecederstrand commented on September 21, 2024

Asuming this is fixed. Feel free to update here if not.

from exchangelib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.