diff options
Diffstat (limited to 'framework/mail/composer.cpp')
-rw-r--r-- | framework/mail/composer.cpp | 26 |
1 files changed, 25 insertions, 1 deletions
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 @@ | |||
19 | 19 | ||
20 | 20 | ||
21 | #include "composer.h" | 21 | #include "composer.h" |
22 | #include <actions/context.h> | ||
23 | #include <actions/action.h> | ||
24 | #include <KMime/Message> | ||
25 | #include <KCodecs/KEmailAddress> | ||
26 | #include <QVariant> | ||
27 | #include <QDebug> | ||
22 | 28 | ||
23 | Composer::Composer(QObject *parent) : QObject(parent) | 29 | Composer::Composer(QObject *parent) : QObject(parent) |
24 | { | 30 | { |
@@ -110,7 +116,25 @@ void Composer::setFromIndex(int fromIndex) | |||
110 | 116 | ||
111 | void Composer::send() | 117 | void Composer::send() |
112 | { | 118 | { |
113 | //TODO | 119 | auto mail = KMime::Message::Ptr::create(); |
120 | for (const auto &to : KEmailAddress::splitAddressList(m_to)) { | ||
121 | QByteArray displayName; | ||
122 | QByteArray addrSpec; | ||
123 | QByteArray comment; | ||
124 | KEmailAddress::splitAddress(to.toUtf8(), displayName, addrSpec, comment); | ||
125 | mail->to(true)->addAddress(addrSpec, displayName); | ||
126 | } | ||
127 | mail->subject(true)->fromUnicodeString(m_subject, "utf-8"); | ||
128 | mail->setBody(m_body.toUtf8()); | ||
129 | mail->assemble(); | ||
130 | Kube::Context context; | ||
131 | context.setProperty("message", QVariant::fromValue(mail)); | ||
132 | //TODO get from somewhere | ||
133 | context.setProperty("username", QVariant::fromValue(QByteArray("test@test.com"))); | ||
134 | context.setProperty("password", QVariant::fromValue(QByteArray("pass"))); | ||
135 | context.setProperty("server", QVariant::fromValue(QByteArray("smtp://smtp.gmail.com:587"))); | ||
136 | |||
137 | Kube::Action("org.kde.kube.actions.sendmail", context).execute(); | ||
114 | clear(); | 138 | clear(); |
115 | } | 139 | } |
116 | 140 | ||