From 24eec910e0098151f5c36f88c4337b4ebbca2c0b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 24 Feb 2016 13:18:57 +0100 Subject: Send mail from the composer --- framework/mail/CMakeLists.txt | 2 +- framework/mail/composer.cpp | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) (limited to 'framework/mail') diff --git a/framework/mail/CMakeLists.txt b/framework/mail/CMakeLists.txt index 94d15f4c..7215427b 100644 --- a/framework/mail/CMakeLists.txt +++ b/framework/mail/CMakeLists.txt @@ -24,7 +24,7 @@ add_library(mailplugin SHARED ${mailplugin_SRCS}) qt5_use_modules(mailplugin Core Quick Qml) -target_link_libraries(mailplugin actionplugin sink KF5::Otp ${CURL_LIBRARIES}) +target_link_libraries(mailplugin actionplugin sink KF5::Otp KF5::Codecs ${CURL_LIBRARIES}) install(TARGETS mailplugin DESTINATION ${QML_INSTALL_DIR}/org/kde/kube/mail) install(FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kde/kube/mail) diff --git a/framework/mail/composer.cpp b/framework/mail/composer.cpp index 6f603979..1ec56347 100644 --- a/framework/mail/composer.cpp +++ b/framework/mail/composer.cpp @@ -19,6 +19,12 @@ #include "composer.h" +#include +#include +#include +#include +#include +#include Composer::Composer(QObject *parent) : QObject(parent) { @@ -110,7 +116,25 @@ void Composer::setFromIndex(int fromIndex) void Composer::send() { - //TODO + auto mail = KMime::Message::Ptr::create(); + for (const auto &to : KEmailAddress::splitAddressList(m_to)) { + QByteArray displayName; + QByteArray addrSpec; + QByteArray comment; + KEmailAddress::splitAddress(to.toUtf8(), displayName, addrSpec, comment); + mail->to(true)->addAddress(addrSpec, displayName); + } + mail->subject(true)->fromUnicodeString(m_subject, "utf-8"); + mail->setBody(m_body.toUtf8()); + mail->assemble(); + Kube::Context context; + context.setProperty("message", QVariant::fromValue(mail)); + //TODO get from somewhere + context.setProperty("username", QVariant::fromValue(QByteArray("test@test.com"))); + context.setProperty("password", QVariant::fromValue(QByteArray("pass"))); + context.setProperty("server", QVariant::fromValue(QByteArray("smtp://smtp.gmail.com:587"))); + + Kube::Action("org.kde.kube.actions.sendmail", context).execute(); clear(); } -- cgit v1.2.3