From b246fa6039ea7eb7e19dc1d77983ef053cd96991 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 22 Dec 2017 18:21:43 +0100 Subject: Avoid duplicating the contentType header on reply --- framework/src/domain/mime/mailtemplates.cpp | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/framework/src/domain/mime/mailtemplates.cpp b/framework/src/domain/mime/mailtemplates.cpp index 5f5b35df..74d9f3ae 100644 --- a/framework/src/domain/mime/mailtemplates.cpp +++ b/framework/src/domain/mime/mailtemplates.cpp @@ -76,18 +76,6 @@ static QString toPlainText(const QString &s) return doc.toPlainText(); } -void initHeader(const KMime::Message::Ptr &message) -{ - message->removeHeader(); - message->removeHeader(); - message->date()->setDateTime(QDateTime::currentDateTime()); - - const QStringList extraInfo = QStringList() << QSysInfo::prettyProductName(); - message->userAgent()->fromUnicodeString(QString("%1/%2(%3)").arg(QString::fromLocal8Bit("Kube")).arg("0.1").arg(extraInfo.join(",")), "utf-8"); - // This will allow to change Content-Type: - message->contentType()->setMimeType("text/plain"); -} - QString replacePrefixes(const QString &str, const QStringList &prefixRegExps, const QString &newPrefix) { // construct a big regexp that @@ -801,8 +789,10 @@ void MailTemplates::reply(const KMime::Message::Ptr &origMsg, const std::functio const bool alwaysPlain = true; KMime::Message::Ptr msg(new KMime::Message); - initHeader(msg); + msg->removeHeader(); + msg->removeHeader(); + msg->contentType(true)->setMimeType("text/plain"); msg->contentType()->setCharset("utf-8"); const auto recipients = getRecipients(origMsg, me); @@ -963,8 +953,15 @@ KMime::Message::Ptr MailTemplates::createMessage(KMime::Message::Ptr existingMes auto mail = existingMessage; if (!mail) { mail = KMime::Message::Ptr::create(); + } else { + //Content type is part of the body part we're creating + mail->removeHeader(); + mail->removeHeader(); } + mail->date()->setDateTime(QDateTime::currentDateTime()); + mail->userAgent()->fromUnicodeString(QString("%1/%2(%3)").arg(QString::fromLocal8Bit("Kube")).arg("0.1").arg(QSysInfo::prettyProductName()), "utf-8"); + mail->to(true)->clear(); for (const auto &mb : stringListToMailboxes(to)) { mail->to()->addAddress(mb); -- cgit v1.2.3