aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vmime/net/imap/IMAPMessage.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/vmime/net/imap/IMAPMessage.cpp b/src/vmime/net/imap/IMAPMessage.cpp
index 534727d4..0bf8fbe6 100644
--- a/src/vmime/net/imap/IMAPMessage.cpp
+++ b/src/vmime/net/imap/IMAPMessage.cpp
@@ -38,6 +38,8 @@
#include "vmime/net/imap/IMAPMessagePart.hpp"
#include "vmime/net/imap/IMAPMessagePartContentHandler.hpp"
+#include "vmime/messageId.hpp"
+#include "vmime/messageIdSequence.hpp"
#include "vmime/utility/outputStreamAdapter.hpp"
#include <sstream>
@@ -578,6 +580,19 @@ int IMAPMessage::processFetchResponse(
if (!bcc.isEmpty()) {
hdr->Bcc()->setValue(bcc.toAddressList());
}
+
+ // Message-ID
+ if (!env->env_message_id->isNIL) {
+ hdr->MessageId()->setValue(messageId(env->env_message_id->value));
+ }
+
+ // In-Reply-To
+ if (!env->env_in_reply_to->isNIL) {
+ shared_ptr <messageId> mid = make_shared <messageId>(env->env_in_reply_to->value);
+ messageIdSequence sequence;
+ sequence.appendMessageId(mid);
+ hdr->InReplyTo()->setValue(sequence);
+ }
}
break;