From 63ca9c4e0be265a4db6b89d444e6fcd8bdd135c1 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 1 Nov 2016 11:23:35 +0100 Subject: Set to/cc/bcc --- common/mailpreprocessor.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'common/mailpreprocessor.cpp') diff --git a/common/mailpreprocessor.cpp b/common/mailpreprocessor.cpp index 45f5def..575ff4b 100644 --- a/common/mailpreprocessor.cpp +++ b/common/mailpreprocessor.cpp @@ -81,17 +81,29 @@ struct MimeMessageReader { qint64 mappedSize; }; -static Sink::ApplicationDomain::Mail::Contact getContact(const KMime::Headers::From *header) +static Sink::ApplicationDomain::Mail::Contact getContact(const KMime::Headers::Generics::MailboxList *header) { const auto name = header->displayNames().isEmpty() ? QString() : header->displayNames().first(); const auto address = header->addresses().isEmpty() ? QString() : header->addresses().first(); return Sink::ApplicationDomain::Mail::Contact{name, address}; } +static QList getContactList(const KMime::Headers::Generics::AddressList *header) +{ + QList list; + for (const auto mb : header->mailboxes()) { + list << Sink::ApplicationDomain::Mail::Contact{mb.name(), mb.address()}; + } + return list; +} + static void updatedIndexedProperties(Sink::ApplicationDomain::Mail &mail, KMime::Message::Ptr msg) { mail.setExtractedSubject(msg->subject(true)->asUnicodeString()); mail.setExtractedSender(getContact(msg->from(true))); + mail.setExtractedTo(getContactList(msg->to(true))); + mail.setExtractedCc(getContactList(msg->cc(true))); + mail.setExtractedBcc(getContactList(msg->bcc(true))); mail.setExtractedDate(msg->date(true)->dateTime()); //The rest should never change, unless we didn't have the headers available initially. -- cgit v1.2.3