From a2894c03a83d3d9a00d44c752aa94fc12c96d858 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 12 Oct 2017 17:30:38 +0200 Subject: Load html messages as html --- framework/src/domain/mime/mailtemplates.cpp | 13 +++++++++++++ framework/src/domain/mime/mailtemplates.h | 1 + 2 files changed, 14 insertions(+) (limited to 'framework/src/domain/mime') diff --git a/framework/src/domain/mime/mailtemplates.cpp b/framework/src/domain/mime/mailtemplates.cpp index e8d80d40..bbe079d8 100644 --- a/framework/src/domain/mime/mailtemplates.cpp +++ b/framework/src/domain/mime/mailtemplates.cpp @@ -887,6 +887,19 @@ QString MailTemplates::plaintextContent(const KMime::Message::Ptr &msg) return plain; } +QString MailTemplates::body(const KMime::Message::Ptr &msg, bool &isHtml) +{ + MimeTreeParser::ObjectTreeParser otp; + otp.parseObjectTree(msg.data()); + const auto html = otp.htmlContent(); + if (html.isEmpty()) { + isHtml = false; + return otp.plainTextContent(); + } + isHtml = true; + return html; +} + static KMime::Content *createAttachmentPart(const QByteArray &content, const QString &filename, bool isInline, const QByteArray &mimeType, const QString &name) { diff --git a/framework/src/domain/mime/mailtemplates.h b/framework/src/domain/mime/mailtemplates.h index d28b100e..51db2ba0 100644 --- a/framework/src/domain/mime/mailtemplates.h +++ b/framework/src/domain/mime/mailtemplates.h @@ -36,5 +36,6 @@ namespace MailTemplates { void reply(const KMime::Message::Ptr &origMsg, const std::function &callback, const KMime::Types::AddrSpecList &me = {}); QString plaintextContent(const KMime::Message::Ptr &origMsg); + QString body(const KMime::Message::Ptr &msg, bool &isHtml); KMime::Message::Ptr createMessage(KMime::Message::Ptr existingMessage, const QStringList &to, const QStringList &cc, const QStringList &bcc, const KMime::Types::Mailbox &from, const QString &subject, const QString &body, bool htmlBody, const QList &attachments, const std::vector &signingKeys = {}); }; -- cgit v1.2.3