Comments (12)
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.
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.
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.
@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.
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.
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.
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.
Can you try out the referenced commit? I believe it may fix the error.
from exchangelib.
@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.
That's great! I'll take some time this week and test it, thank you so much!
from exchangelib.
Changes are out in v5.3.0, BTW
from exchangelib.
Asuming this is fixed. Feel free to update here if not.
from exchangelib.
Related Issues (20)
- exchangelib.errors.UnauthorizedError: Invalid credentials for https://[domain].de/EWS/Exchange.asmx HOT 6
- Create calendar appointment in another account as access data, the appointment is created in the access account. HOT 3
- Get all Public Folders HOT 23
- ErrorInvalidSchemaVersionForMailboxVersion with exchangelib v5.2.1 and Exchange server version 15.2.1544.4 HOT 45
- EOF occurred in violation of protocol HOT 4
- ValueError trying to delete a rule HOT 2
- Error getting folders for v5.2.1+ (server 2010sp3 upd.29) HOT 3
- Cannot fetch calendar folder HOT 4
- Problem getting auth type from Exchange server HOT 15
- The request failed schema validation HOT 9
- Get more than 100 records with a.protocol.resolve_names HOT 1
- EWS does not support returning more than 100 results. See https://learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/resolvenames-operation
- How to disable check_hostname HOT 5
- some new distinguished folders cause 500 error HOT 4
- Support Custom Authentication Domains for Global and Governmental Environments (gcc-high, dod, etc) HOT 1
- Implement passing an Account object to GetUserAvailability in order to fix the "Returning naive datetime"-warning for timezone-unaware server responses. HOT 3
- Not enough scope error HOT 4
- OOF, The scheduled duration for sending automatic replies isn't valid HOT 4
- 403 Error | App Delegate Access for Personal Outlook Account HOT 5
- Accessing shared calendars does no longer work on 5.4.2 but it does work on 5.2.0 HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from exchangelib.