summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/mime/mailtemplates.cpp
Commit message (Collapse)AuthorAge
* Make sure we don't end up with any CRLF'sChristian Mollekopf2018-03-23
|
* Automatic key import / export + Expected monadRémi Nicole2018-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: There are many things going on here (perhaps a bit much for a single patch): - When an attachment is of mime type "application/pgp-keys", a button is added to import the key to GPG - When sending a mail and crypto is enabled (encryption, signing or both), the public key of the first private key found is sent as an un-encrypted attachment (T6994) - The `mailcrypto.{h,cpp}` was, for the most part, rewritten - Introduction of the expected monad, inspired by what was proposed for C++ [here](https://isocpp.org/files/papers/n4015.pdf), but not at all a strict implementation of this specification. We may want to add some more features of this standard later. The rationale for some of the choices: - I found mailcrypto a bit hard to edit to add new features, and a great part was commented code to prepare for the support the SMIME crypto format, which would (in my current knowledge) not be used for sending emails. - One thing I found that may be missing in the code base was a standardized way of handling errors in C++ code. Since exceptions are disabled I think that the functional way is the way to go. After some research I found the Expected monad / tagged union / sum type, which seemed to suit the problem particularly well. In the long run, I hope we would move the entire code base to use `Expected` to indicate if a function might fail. Of course every choice made here is to be considered as a proposition for doing things / RFC, critics wholeheartedly accepted. Reviewers: cmollekopf Tags: #kube Maniphest Tasks: T6994, T8147, T6995 Differential Revision: https://phabricator.kde.org/D11158
* Support encrypted mails forwardingRémi Nicole2018-03-08
| | | | | | | | | | | | | | | | | | | | Summary: Some notes: - What we do is: if the mail is encrypted, decrypt it and copy its content into a new message (with plaintext, html and attachments, if any), and use this message as attachment for forwarding - The `isEncrypted` function from KMime doesn't seem to detect every kind of encrypted mails. AFAIK this structure is not detected: - `multipart/mixed` - `text/plain` - `application/pgp-encrypted` (attachement, named "ATT00001") - `application/octet-stream` (attachment named "encrypted.asc") Reviewers: cmollekopf Tags: PHID-PROJ-6npnfcmppynqynn7slmv Maniphest Tasks: T8112, T7024 Differential Revision: https://phabricator.kde.org/D10966
* Revert "Support encrypted mails forwarding"Christian Mollekopf2018-03-02
| | | | | | This reverts commit f28ec43dca5b2915deb69d54fb942ddf1303f48c. That was pushed by accident.
* Support encrypted mails forwardingChristian Mollekopf2018-03-02
| | | | | | | | | | | | | | | | | | | | Summary: Some notes: - What we do is: if the mail is encrypted, decrypt it and copy its content into a new message (with plaintext, html and attachments, if any), and use this message as attachment for forwarding - The `isEncrypted` function from KMime doesn't seem to detect every kind of encrypted mails. AFAIK this structure is not detected: - `multipart/mixed` - `text/plain` - `application/pgp-encrypted` (attachement, named "ATT00001") - `application/octet-stream` (attachment named "encrypted.asc") Reviewers: cmollekopf Tags: PHID-PROJ-6npnfcmppynqynn7slmv Maniphest Tasks: T8112, T7024 Differential Revision: https://phabricator.kde.org/D10966
* T7024 fix: implement attachment-based forwardingRémi Nicole2018-02-21
| | | | | | | | | | | | | | | | Summary: Implement attachment-based forwarding. Some notes: - `loadAsDraft` was removed in favor of new enum `loadType` in QML, and callback based generic programming in C++ Reviewers: cmollekopf Tags: #kube Maniphest Tasks: T7024 Differential Revision: https://phabricator.kde.org/D10676
* Properly encode non-ascii content.Christian Mollekopf2018-01-31
|
* Generate a message id for new messagesChristian Mollekopf2017-12-29
|
* Avoid duplicating the contentType header on replyChristian Mollekopf2017-12-22
|
* Encrypted mailsChristian Mollekopf2017-11-23
|
* Load html messages as htmlChristian Mollekopf2017-10-12
|
* Don't use QWebEnginePage to convert to plaintextChristian Mollekopf2017-10-09
| | | | | | | Turns out it doesn't return consistent results. (mailtemplatetest testHtmlReply() sometimes comes back with "HTML text" and sometimes with "HTML text", depending on the host). Let's see into what limitations we run with QTextDocument instead.
* HtmlBodyResultChristian Mollekopf2017-10-09
|
* Simplified code a bitChristian Mollekopf2017-10-08
|
* Html with attachmentsChristian Mollekopf2017-10-08
|
* Assembling html mailsChristian Mollekopf2017-10-08
|
* Fixed RE: prefixing on repliesChristian Mollekopf2017-09-07
|
* Disable applyCharset while it's brokenChristian Mollekopf2017-08-24
| | | | It currently breaks some special characters such as the hyphen.
* Get mailtemplatetest to passChristian Mollekopf2017-08-23
|
* Take personal email addresses into account when replying.Christian Mollekopf2017-08-11
|
* splitAddress does not work if the name has a comma in itChristian Mollekopf2017-08-10
| | | | | With i.e. "Mollekopf, Christian <mollekopf@example.org>", we'l end up with an address "Mollekopf" and one "Christian <mollekopf@example.org>".
* Updated copyrightChristian Mollekopf2017-08-03
|
* Signed attachmentsChristian Mollekopf2017-08-03
|
* Commit missing filesChristian Mollekopf2017-08-03
|
* A first signed messageChristian Mollekopf2017-08-03
|
* Hostname based messageidChristian Mollekopf2017-08-02
|
* Set the plain type for plain mailsChristian Mollekopf2017-08-02
|
* Moved mailcomposing into mailtemplatesChristian Mollekopf2017-08-02
| | | | so we can start testing it.
* Reply all is the better default for now,Christian Mollekopf2017-07-11
| | | | so you can simply remove the recipients you're not interested.
* Don't set that option twiceChristian Mollekopf2017-07-06
|
* Reply to signed messages.Christian Mollekopf2017-06-30
|
* Fixed html to plaintext conversionChristian Mollekopf2017-06-30
|
* Fixed the reply regexpChristian Mollekopf2017-06-23
|
* Refactored the reply generating code for comprehensibilityChristian Mollekopf2017-06-23
|
* Newline after "On %date you wrote:"Christian Mollekopf2017-06-23
|
* Fixed subject replacementsChristian Mollekopf2017-06-23
|
* Also load slightly more complex mails.Christian Mollekopf2017-06-22
| | | | And convert simple html to plaintext.
* Reduced the messagetreeparser to aproximately what we actually requireChristian Mollekopf2017-06-04
| | | | | | | | | | | While in a much more managable state it's still not pretty. However, further refactoring can now gradually happen as we need to do further work on it. Things that should happen eventually: * Simplify the logic that creates the messageparts (we don't need the whole formatter plugin complexity) * Get rid of the nodehelper (let the parts hold the necessary data) * Get rid of partmetadata (let the part handleit)
* Moved MIME related stuff to a mime subdirChristian Mollekopf2017-05-23