summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-09-23 00:06:25 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-09-23 00:07:07 +0200
commite3bd6c406da2ea98bfcf6bbd37db78462fd75b31 (patch)
tree39eb708ff718f3092b0e961c4dfa87662823b744
parent9aacc443d9465793b96cb844469056ae80e6d91b (diff)
downloademacs-e3bd6c406da2ea98bfcf6bbd37db78462fd75b31.tar.gz
mailclient can't send attachments
* lisp/mail/mailclient.el (mailclient-send-it): Warn about trying to send attachments (bug#34992).
-rw-r--r--lisp/mail/mailclient.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/mail/mailclient.el b/lisp/mail/mailclient.el
index 4d8cda10fff..0c2594cc830 100644
--- a/lisp/mail/mailclient.el
+++ b/lisp/mail/mailclient.el
@@ -47,6 +47,7 @@
(require 'sendmail) ;; for mail-sendmail-undelimit-header
(require 'mail-utils) ;; for mail-fetch-field
(require 'browse-url)
+(require 'mail-parse)
(defcustom mailclient-place-body-on-clipboard-flag
(fboundp 'w32-set-clipboard-data)
@@ -141,6 +142,14 @@ The mail client is taken to be the handler of mailto URLs."
(concat
(save-excursion
(narrow-to-region (point-min) delimline)
+ ;; We can't send multipart/* messages (i. e. with
+ ;; attachments or the like) via this method.
+ (when-let ((type (mail-fetch-field "content-type")))
+ (when (and (string-match "multipart"
+ (car (mail-header-parse-content-type
+ type)))
+ (not (y-or-n-p "Message with attachments can't be sent via mailclient; continue anyway?")))
+ (error "Choose a different `send-mail-function' to send attachments")))
(goto-char (point-min))
(setq coding-system
(if (re-search-forward mime-charset-pattern nil t)