summaryrefslogtreecommitdiff
path: root/mu4e
diff options
context:
space:
mode:
authorChristophe Troestler <Christophe.Troestler@umons.ac.be>2019-04-13 23:37:06 +0200
committerChristophe Troestler <Christophe.Troestler@umons.ac.be>2019-07-13 14:07:07 +0200
commit2e676b6c11e23fe76ec9b8ca46c01b9a17501eb9 (patch)
treee52d6d5896864a2d3a61fd8169eeff3d8db67627 /mu4e
parent1078fee2c5fc67bdb8c2aab2c8082b0d9b17ac78 (diff)
mu4e (ical): Insert a text summary of the reply .ics file
This is important because the users of some email clients (such as Outlook Wep Application) cannot read .ics files. See e.g., https://answers.microsoft.com/en-us/office/forum/office_2010-outlook/how-do-i-open-ics-files-in-outlook-web-access/c765c07e-20ae-44b5-baa4-1d4f94fdfbeb
Diffstat (limited to 'mu4e')
-rw-r--r--mu4e/mu4e-icalendar.el24
1 files changed, 14 insertions, 10 deletions
diff --git a/mu4e/mu4e-icalendar.el b/mu4e/mu4e-icalendar.el
index 84f5d58..c66f225 100644
--- a/mu4e/mu4e-icalendar.el
+++ b/mu4e/mu4e-icalendar.el
@@ -48,14 +48,18 @@
(while (re-search-forward "^\\(.\\{72\\}\\)\\(.+\\)$" nil t)
(replace-match "\\1\n \\2")
(goto-char (line-beginning-position)))))
- (let ((subject (concat (capitalize (symbol-name status))
- ": " (gnus-icalendar-event:summary event))))
- (with-current-buffer (get-buffer-create gnus-icalendar-reply-bufname)
- (delete-region (point-min) (point-max))
- (insert reply)
- (fold-icalendar-buffer)
- (mu4e-icalendar-reply-with-buffer msg subject (buffer-name)))
+ (with-current-buffer (get-buffer-create gnus-icalendar-reply-bufname)
+ (delete-region (point-min) (point-max))
+ (insert reply)
+ (fold-icalendar-buffer)
+ (let* ((subject (concat (capitalize (symbol-name status))
+ ": " (gnus-icalendar-event:summary event)))
+ (reply-event (gnus-icalendar-event-from-buffer
+ (buffer-name) mu4e-user-mail-address-list))
+ (body (gnus-icalendar-event->gnus-calendar reply-event
+ status)))
+ (mu4e-icalendar-reply-with-buffer msg subject body (buffer-name))))
;; Back in article buffer
(setq-local gnus-icalendar-reply-status status)
@@ -63,12 +67,12 @@
(gnus-icalendar--update-org-event event status)
;; refresh article buffer to update the reply status
(with-current-buffer mu4e~headers-buffer-name
- (mu4e-headers-rerun-search))))))))
+ (mu4e-headers-rerun-search)))))))
(defun mu4e~icalendar-delete-citation ()
(delete-region (point-min) (point-max)))
-(defun mu4e-icalendar-reply-with-buffer (original-msg subject buffer-name)
+(defun mu4e-icalendar-reply-with-buffer (original-msg subject body buffer-name)
(let ((message-signature nil))
(let ((mu4e-compose-cite-function #'mu4e~icalendar-delete-citation)
(mu4e-sent-messages-behavior 'delete)
@@ -77,8 +81,8 @@
(mu4e~compose-handler 'reply original-msg))
(message-goto-body)
(insert "\n\n")
+ (insert body)
(mml-insert-multipart "alternative")
- (mml-insert-empty-tag 'part 'type "text/plain")
(mml-attach-buffer buffer-name "text/calendar; method=REPLY; charset=UTF-8")
(message-goto-subject)
(delete-region (line-beginning-position) (line-end-position))