summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mailtemplates.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/mime/mailtemplates.cpp')
-rw-r--r--framework/src/domain/mime/mailtemplates.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/framework/src/domain/mime/mailtemplates.cpp b/framework/src/domain/mime/mailtemplates.cpp
index 2c9f6523..c4558562 100644
--- a/framework/src/domain/mime/mailtemplates.cpp
+++ b/framework/src/domain/mime/mailtemplates.cpp
@@ -30,7 +30,7 @@
30#include <QWebEngineSettings> 30#include <QWebEngineSettings>
31#include <QWebEngineScript> 31#include <QWebEngineScript>
32#include <QSysInfo> 32#include <QSysInfo>
33#include <QHostInfo> 33#include <QUuid>
34#include <QTextCodec> 34#include <QTextCodec>
35#include <QTextDocument> 35#include <QTextDocument>
36 36
@@ -1022,12 +1022,9 @@ KMime::Message::Ptr MailTemplates::createMessage(KMime::Message::Ptr existingMes
1022 1022
1023 mail->subject(true)->fromUnicodeString(subject, "utf-8"); 1023 mail->subject(true)->fromUnicodeString(subject, "utf-8");
1024 if (!mail->messageID(false)) { 1024 if (!mail->messageID(false)) {
1025 auto fqdn = QUrl::toAce(QHostInfo::localHostName()); 1025 //A globally unique messageId that doesn't leak the local hostname
1026 if (fqdn.isEmpty()) { 1026 const auto messageId = "<" + QUuid::createUuid().toString().mid(1, 36).remove('-') + "@kube>";
1027 qWarning() << "Unable to generate a Message-ID, falling back to 'localhost.localdomain'."; 1027 mail->messageID(true)->fromUnicodeString(messageId, "utf-8");
1028 fqdn = "local.domain";
1029 }
1030 mail->messageID(true)->generate(fqdn);
1031 } 1028 }
1032 if (!mail->date(true)->dateTime().isValid()) { 1029 if (!mail->date(true)->dateTime().isValid()) {
1033 mail->date(true)->setDateTime(QDateTime::currentDateTimeUtc()); 1030 mail->date(true)->setDateTime(QDateTime::currentDateTimeUtc());