Comments (3)
After experimenting a little, I saw that sometimes, the subject
is a little different from the conversation_topic
. For example, in a mailing list, the subject contains "[list-name]" as prefix, whereas conversation_topic doesn't contain that prefix. In the past, I set the reply subject based on the original subject. That then apparently also makes the reply conversation topic to contain the mailing list prefix. In such cases, the reply (draft) is not seen as part of the conversation and has a different conversation_id
.
Example:
Original message:
subject: [list-name] some subject
conversation_topic: some subject
Reply (draft) based on the original subject <- this message has a different conversation_id after creating it:
subject: RE: [list-name] some subject
conversation_topic: [list-name] some subject
Reply (draft) created without the mailing list prefix <- this message has the original conversation_id after creating it:
subject: RE: some subject
conversation_topic: some subject
Exchange applies the same ConversationTopic value to replies to the first message and then updates the ConversationIndex value to represent the message's position relative to the original message. If the subject of the email thread changes, Exchange applies a new ConversationTopic value and new ConversationIndex values to the new conversation.
Not sure whether that is connected.
For now, I'll use the conversation topic as base for the reply subject. Hopefully, that will work reliably.
from exchangelib.
Thanks for the details investigation! conversation_id
and conversation_topic
fields are read-only and their value are determined by the Exchange server, as you've also found out.
I'm not sure there's anything more we can do in exchangelib in this area.
from exchangelib.
That's alright. I was mainly looking for ways how to be able to achieve what I want (having Outlook/Exchange treat messages as conversations when I want them to).
Apparently, I found a way (or a cause why it hasn't been the case before for some messages).
Then, I am happy to close this issue again for now.
from exchangelib.
Related Issues (20)
- Typo in Exchange 2019 version HOT 1
- Can't browse public_folders_root anymore HOT 32
- exchangelib.errors.ErrorAccessDenied: Not allowed to access Non IPM folder. HOT 23
- Can junk mail rules be created by exchangelib? HOT 1
- Validation rule error when manage inbox rules HOT 3
- `folder.parts` no longer returns root of hierarchy in list of parts (5.2.1) HOT 9
- `ErrorNonExistentMailbox` in version 5.2.1 but not in 5.2.0 HOT 6
- 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
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.