mirror of https://github.com/djcb/mu.git
* make it configurable what to do with sent messages (part 2), and document it:
By default, @t{mu4e} puts a copy of any messages you sent in the folder you set for @code{mu4e-sent-folder}. In some case, this may not be what you want - for example, when using GMail+@abbr{IMAP} (but @emph{not} with GMail+@abbr{POP3}), this interferes with GMail's handling of the sent messages folder, and you may end up with duplicate messages. For this, since @t{mu4e} 0.9.8.3, there is the variable @code{mu4e-sent-messages-behavior}, which takes a symbol. The default is @code{'sent} which, as stated causes the message to be copied to your sent-messages folder. Other possible values are @code{'trash} (so the sent message is copied to the trash-folder (@code{mu4e-trash-folder}), and @code{'delete} to simply discard the message altogether.
This commit is contained in:
parent
4122b76607
commit
a051f3a89f
|
@ -190,7 +190,7 @@ And finally, the cited body of MSG, as per `mu4e-send-cite-original'."
|
|||
(concat
|
||||
;; if there's no Re: yet, prepend it
|
||||
(if (string-match (concat "^" mu4e-send-reply-prefix) subject)
|
||||
"" mu4e-send-reply-prefix)
|
||||
"" mu4e-send-reply-prefix)
|
||||
subject))
|
||||
|
||||
(propertize mail-header-separator 'read-only t 'intangible t) '"\n"
|
||||
|
@ -220,7 +220,7 @@ And finally, the cited body of MSG, as per `mu4e-send-cite-original'."
|
|||
(mu4e-send-header "From" (or (mu4e-send-from-create) ""))
|
||||
(when (boundp 'mail-reply-to)
|
||||
(mu4e-send-header "Reply-To" mail-reply-to))
|
||||
|
||||
|
||||
(mu4e-send-header "To" "")
|
||||
(mu4e-send-header "User-agent" (mu4e-send-user-agent))
|
||||
(mu4e-send-header "References" (mu4e-send-references-create msg))
|
||||
|
@ -228,7 +228,7 @@ And finally, the cited body of MSG, as per `mu4e-send-cite-original'."
|
|||
(concat
|
||||
;; if there's no Re: yet, prepend it
|
||||
(if (string-match (concat "^" mu4e-send-forward-prefix) subject)
|
||||
"" mu4e-send-forward-prefix)
|
||||
"" mu4e-send-forward-prefix)
|
||||
subject))
|
||||
|
||||
(propertize mail-header-separator 'read-only t 'intangible t) "\n"
|
||||
|
@ -362,7 +362,7 @@ using Gnus' `message-mode'."
|
|||
(message-goto-to)
|
||||
(message-goto-body))))
|
||||
|
||||
|
||||
|
||||
|
||||
(defun mu4e-send-save-copy-maybe ()
|
||||
"If `mu4e-save-sent-messages-behavior' is a symbol 'delete, move
|
||||
|
@ -371,9 +371,9 @@ using Gnus' `message-mode'."
|
|||
`message-sent-hook'."
|
||||
(let ((docid (gethash (buffer-file-name) mu4e-path-docid-map)))
|
||||
(unless docid (error "unknown message (%S)" (buffer-file-name)))
|
||||
(save-buffer) ;; save the messages, so emacs won't annoy us
|
||||
(if (eq mu4e-sent-messages-behavior 'delete)
|
||||
(progn
|
||||
(save-buffer)
|
||||
(mu4e-proc-remove-msg docid)) ;; remove it
|
||||
(progn ;; try to save the message the sent folder
|
||||
(save-excursion
|
||||
|
@ -382,11 +382,12 @@ using Gnus' `message-mode'."
|
|||
(if (search-forward-regexp (concat "^" mail-header-separator "\n"))
|
||||
(replace-match "")
|
||||
(error "cannot find mail-header-separator"))
|
||||
(save-buffer)
|
||||
;; ok, all seems well, well move the message to the sent-folder
|
||||
(if (eq mu4e-sent-messages-behavior 'trash)
|
||||
(mu4e-proc-move-msg docid mu4e-trash-folder "+T-D+S")
|
||||
(mu4e-proc-move-msg docid mu4e-sent-folder "-T-D+S")))))))
|
||||
|
||||
|
||||
|
||||
|
||||
(defun mu4e-send-set-parent-flag ()
|
||||
|
|
|
@ -263,6 +263,20 @@ recommended you use \"html2text -utf8 -width 72\"."
|
|||
:type 'string
|
||||
:group 'mu4e-compose)
|
||||
|
||||
(defcustom mu4e-sent-messages-behavior 'sent
|
||||
"Determines what mu4e does with sent messages - this is a symbol
|
||||
which can be either:
|
||||
'sent --> move the sent message to the Sent-folder (`mu4e-sent-folder')
|
||||
'trash --> move the sent message to the Trash-folder (`mu4e-trash-folder')
|
||||
'delete --> delete the sent message.
|
||||
Note, when using GMail/IMAP, you should set this to either 'trash
|
||||
or 'delete, since GMail already takes care of keeping copies in the
|
||||
sent folder."
|
||||
:type 'symbol
|
||||
:safe 'symbolp
|
||||
:group 'mu4e-compose)
|
||||
|
||||
|
||||
;; Faces
|
||||
|
||||
(defgroup mu4e-faces nil
|
||||
|
@ -638,13 +652,13 @@ function prefers the text part, but this can be changed by setting
|
|||
(if html (length html) 0))) ;; real text part?
|
||||
(setq body txt))
|
||||
;; no body yet? try html
|
||||
(unless body
|
||||
(unless body
|
||||
(when html
|
||||
(setq body
|
||||
(setq body
|
||||
(with-temp-buffer
|
||||
(insert html)
|
||||
;; if defined, use the external tool
|
||||
(if mu4e-html2text-command
|
||||
(if mu4e-html2text-command
|
||||
(shell-command-on-region (point-min) (point-max)
|
||||
mu4e-html2text-command nil t)
|
||||
;; otherwise...
|
||||
|
|
|
@ -183,7 +183,7 @@ configuration}.
|
|||
You can do all of the mail retrieval @emph{outside} of @t{emacs}/@t{mu4e}, but
|
||||
you can also do it from the @t{mu4e}. For that, set the variable
|
||||
@code{mu4e-get-mail-command} to the command you want to use for retrieving
|
||||
mail, which you can then access from the @ref{Main view}.
|
||||
mail, which you can then access from the @ref{Main view}.
|
||||
|
||||
You can also have this command run periodically (in the background), by
|
||||
setting the variable @code{mu4e-update-interval} to the number of seconds
|
||||
|
@ -249,6 +249,26 @@ A very minimal setup could look something like:
|
|||
Note, since @t{mu4e} uses the same @t{message mode} and @t{smtpmail}
|
||||
that Gnus uses, any setting for those will also work for @t{mu4e}.
|
||||
|
||||
By default, @t{mu4e} puts a copy of any messages you sent in the folder you
|
||||
set for @code{mu4e-sent-folder}. In some case, this may not be what you want -
|
||||
for example, when using GMail+@abbr{IMAP} (but @emph{not} with
|
||||
GMail+@abbr{POP3}), this interferes with GMail's handling of the sent messages
|
||||
folder, and you may end up with duplicate messages. For this, since @t{mu4e}
|
||||
0.9.8.3, there is the variable @code{mu4e-sent-messages-behavior}, which takes
|
||||
a symbol. The default is @code{'sent} which, as stated causes the message to
|
||||
be copied to your sent-messages folder. Other possible values are
|
||||
@code{'trash} (so the sent message is copied to the trash-folder
|
||||
(@code{mu4e-trash-folder}), and @code{'delete} to simply discard the message
|
||||
altogether.
|
||||
|
||||
Thus, for GMail-IMAP you can add the following to your settings:
|
||||
|
||||
@verbatim
|
||||
;; don't save message to Sent Messages, GMail/IMAP will take care of this
|
||||
(setq mu4e-sent-messages-behavior 'trash)
|
||||
@end verbatim
|
||||
|
||||
|
||||
@node Queuing mail
|
||||
@section Queuing mail
|
||||
|
||||
|
@ -877,27 +897,27 @@ notifications in the sauron-buffer when new messages arrive.
|
|||
#!/bin/sh
|
||||
# put the path to your Inbox folder here
|
||||
|
||||
CHECKDIR="/home/$LOGNAME/Maildir/Inbox"
|
||||
sauron-msg () {
|
||||
DBUS_COOKIE="/home/$LOGNAME/.sauron-dbus"
|
||||
if test "x$DBUS_SESSION_BUS_ADDRESS" = "x"; then
|
||||
if test -e $DBUS_COOKIE; then
|
||||
export DBUS_SESSION_BUS_ADDRESS="`cat $DBUS_COOKIE`"
|
||||
fi
|
||||
fi
|
||||
if test -n "x$DBUS_SESSION_BUS_ADDRESS"; then
|
||||
dbus-send --session \
|
||||
--dest="org.gnu.Emacs" \
|
||||
"/org/gnu/Emacs/Sauron" \
|
||||
"org.gnu.Emacs.Sauron.AddMsgEvent" \
|
||||
string:shell uint32:3 string:"$1"
|
||||
fi
|
||||
}
|
||||
CHECKDIR="/home/$LOGNAME/Maildir/Inbox"
|
||||
sauron-msg () {
|
||||
DBUS_COOKIE="/home/$LOGNAME/.sauron-dbus"
|
||||
if test "x$DBUS_SESSION_BUS_ADDRESS" = "x"; then
|
||||
if test -e $DBUS_COOKIE; then
|
||||
export DBUS_SESSION_BUS_ADDRESS="`cat $DBUS_COOKIE`"
|
||||
fi
|
||||
fi
|
||||
if test -n "x$DBUS_SESSION_BUS_ADDRESS"; then
|
||||
dbus-send --session \
|
||||
--dest="org.gnu.Emacs" \
|
||||
"/org/gnu/Emacs/Sauron" \
|
||||
"org.gnu.Emacs.Sauron.AddMsgEvent" \
|
||||
string:shell uint32:3 string:"$1"
|
||||
fi
|
||||
}
|
||||
|
||||
for f in `find $CHECKDIR -mmin -2 -a -type f`; do
|
||||
subject=`$MU view $f | grep '^Subject:' | sed 's/^Subject://'`
|
||||
sauron-msg "mail: $subject"
|
||||
done
|
||||
for f in `find $CHECKDIR -mmin -2 -a -type f`; do
|
||||
subject=`$MU view $f | grep '^Subject:' | sed 's/^Subject://'`
|
||||
sauron-msg "mail: $subject"
|
||||
done
|
||||
@end verbatim
|
||||
|
||||
Note, you should put something like:
|
||||
|
@ -1058,10 +1078,9 @@ realdelete = no
|
|||
@end verbatim
|
||||
|
||||
Of course, you need replace @t{USERNAME} and @t{PASSWORD} with your actual
|
||||
Gmail username and password.
|
||||
GMail username and password.
|
||||
|
||||
After this, you can download your mail, it should look something like the
|
||||
following:
|
||||
After this, you should be able to download your mail:
|
||||
@verbatim
|
||||
$ offlineimap
|
||||
OfflineIMAP 6.3.4
|
||||
|
@ -1112,6 +1131,9 @@ Now, let's make a @t{mu4e} configuration for this:
|
|||
(setq mu4e-sent-folder "/[Gmail].Sent Mail")
|
||||
(setq mu4e-trash-folder "/[Gmail].Trash")
|
||||
|
||||
;; don't save message to Sent Messages, GMail/IMAP will take care of this
|
||||
(setq mu4e-sent-messages-behavior 'delete)
|
||||
|
||||
;; setup some handy shortcuts
|
||||
(setq mu4e-maildir-shortcuts
|
||||
'( ("/INBOX" . ?i)
|
||||
|
|
Loading…
Reference in New Issue