]> git.eshelyaron.com Git - emacs.git/commitdiff
mailclient can't send attachments
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 22 Sep 2019 22:06:25 +0000 (00:06 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 22 Sep 2019 22:07:07 +0000 (00:07 +0200)
* lisp/mail/mailclient.el (mailclient-send-it): Warn about trying
to send attachments (bug#34992).

lisp/mail/mailclient.el

index 4d8cda10fffeaa5d32b9baa2710985e7016fdc4b..0c2594cc830f5d7c652179f10e57e0954d994724 100644 (file)
@@ -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)