mu4e: update queue handling ui

Hide queue commands from main-view when smtpmail-queue-dir is nil.
Update docs.
This commit is contained in:
Dirk-Jan C. Binnema
2026-07-21 13:56:02 +03:00
committed by Seth Ladygo
parent b0d5dc545e
commit 39b7cf2e9d
2 changed files with 28 additions and 20 deletions

View File

@ -347,7 +347,7 @@ for aligning them."
(mu4e--main-action "\t* [@]Update email & database\n" (mu4e--main-action "\t* [@]Update email & database\n"
#'mu4e-update-mail-and-index nil "U") #'mu4e-update-mail-and-index nil "U")
;; show the queue functions if `smtpmail-queue-dir' is defined ;; show the queue functions if `smtpmail-queue-dir' is defined
(if (file-directory-p smtpmail-queue-dir) (if (and smtpmail-queue-dir (file-directory-p (or smtpmail-queue-dir "")))
(mu4e--main-view-queue) (mu4e--main-view-queue)
"") "")
"\n" "\n"
@ -417,8 +417,8 @@ instead."
(defun mu4e--main-toggle-mail-sending-mode () (defun mu4e--main-toggle-mail-sending-mode ()
"Toggle sending mail mode, either queued or direct." "Toggle sending mail mode, either queued or direct."
(interactive) (interactive)
(unless (file-directory-p smtpmail-queue-dir) (unless (and smtpmail-queue-dir (file-directory-p smtpmail-queue-dir))
(mu4e-warn"`smtpmail-queue-dir' does not exist")) (mu4e-warn"`smtpmail-queue-dir' is not a valid queue directory"))
(setq smtpmail-queue-mail (not smtpmail-queue-mail)) (setq smtpmail-queue-mail (not smtpmail-queue-mail))
(mu4e-message (mu4e-message
(concat "Outgoing mail will now be " (concat "Outgoing mail will now be "

View File

@ -2061,24 +2061,19 @@ You can influence what messages to encrypt or sign using
@node Queuing mail @node Queuing mail
@section Queuing mail @section Queuing mail
@cindex queuing
If you cannot send mail right now, for example because you are If you cannot send mail right now, for example because you are currently
currently offline, you can @emph{queue} the mail, and send it when you offline, you can @emph{queue} the mail, and send it when you have restored your
have restored your internet connection. You can control this from internet connection. You can control this from @ref{Main view}.
@ref{Main view}.
To allow for queuing, you need to tell @code{smtpmail} where you want to store To allow for queuing, you need to tell @code{smtpmail} where you want to store
the queued messages. For example: the queued messages.
@lisp For convenience, we put the queue directory somewhere in our normal maildir. If
(setq smtpmail-queue-mail t ;; start in queuing mode you want to use queued mail, you should create this directory @emph{before}
smtpmail-queue-dir "~/Maildir/queue/cur") starting @code{mu4e}. The @command{mu mkdir} command may be useful here, so for
@end lisp example:
For convenience, we put the queue directory somewhere in our normal
maildir. If you want to use queued mail, you should create this directory
before starting @code{mu4e}. The @command{mu mkdir} command may be useful here,
so for example:
@example @example
$ mu mkdir ~/Maildir/queue $ mu mkdir ~/Maildir/queue
@ -2090,9 +2085,22 @@ directory for indexing, which makes sense since it contains @code{smtpmail}
meta-data rather than normal messages; see the @t{mu-mkdir} and @t{mu-index} meta-data rather than normal messages; see the @t{mu-mkdir} and @t{mu-index}
man-pages for details. man-pages for details.
@emph{Warning}: when you switch on queued-mode, your messages @emph{won't} Then, tell @code{smtpmail} about it; e.g., in your configuration:
reach their destination until you switch it off again; so, be careful not to
do this accidentally! @lisp
(setq smtpmail-queue-mail nil ;; use t to start in queuing mode
smtpmail-queue-dir "~/Maildir/queue/cur"
;; or nil to disable queuing
)
@end lisp
Once you are ready to send your messages, you can invoke @kbd{M-x
smtpmail-send-queued-mail}.
@emph{Warning}: when you switch on queued-mode, your messages @emph{won't} reach
their destination until you ; so, be careful not to do this
accidentally! If you want to avoid queued mode completely, you can set
@code{smtpmail-queue-dir} to @code{nil}.
@node Message signatures @node Message signatures
@section Message signatures @section Message signatures