What I like about my mbsync/mu4e setup is that I can download all my email and then read it all and respond to it all offline. But this doesn't work for sending mail, since if I'm offline, it won't let me send a message. How do you configure mu4e so that if you're offline, it puts your message in an outbox, and then sends it as soon as it gets a connection?
The mu4e manual node on queuing mail explains how to do this. Quoting the manual:
If you cannot send mail right now, for example because you are currently offline, you can queue the mail, and send it when you have restored your internet connection. You can control this from the Main view.
To allow for queuing, you need to tell smtpmail where you want to store the queued messages. For example:
(setq smtpmail-queue-mail t ;; start in queuing mode smtpmail-queue-dir "~/Maildir/queue/cur")
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 mu4e. The mu mkdir command may be useful here, so for example:
$ mu mkdir ~/Maildir/queue
$ touch ~/Maildir/queue/.noindex
The file created by the touch command tells mu to ignore this directory for indexing, which makes sense since it contains smtpmail meta-data rather than normal messages; see the mu-mkdir and mu-index man-pages for details.
Warning: when you switch on queued-mode, your messages won’t reach their > destination until you switch it off again; so, be careful not to do this accidentally!