msmtp wrapper allowing for offline use
GPL-3.0 License
Allows you to use msmtp
offline by queuing email until you have an internet
connection.
msmtp
in your mutt config.offlinemsmtp
will send it immediately.Using PyPi:
pip install --user offlinemsmtp
On Arch Linux, you can install the offlinemsmtp
package from the
AUR. For example, if you use
yay
:
yay -S offlinemsmtp
Create a file called ~/.config/systemd/user/offlinemsmtp.service
with the
following content (if you installed via the AUR package, a service file was
already created for you in /usr/lib/systemd/user
so you only need to do this
step if you want to customize the parameters passed to the daemon):
[Unit]
Description=offlinemsmtp
[Service]
ExecStart=/usr/bin/offlinemsmtp --daemon
[Install]
WantedBy=default.target
Then, enable and start offlinemsmtp
using systemd:
systemctl --user daemon-reload
systemctl --user enable --now offlinemsmtp
offlinemsmtp
has two components: a daemon for listening to the outbox folder
and sending the mail when the network is available and a enqueuer for adding
mail to the send queue.
To run the daemon in the current command line (this is useful for testing), run this command::
offlinemsmtp --daemon
To enqueue emails, use the offlinemsmtp
executable without --daemon
. All
parameters (with a few caveats described below in Command Line
Arguments) are forwarded on to msmtp
. Anything
passed in via standard in will be forwarded over standard in to msmtp
when the
mail is sent.
To use offlinemsmtp with mutt, just replace msmtp
in your mutt configuration
file with offlinemsmtp
. Here is an example:
set sendmail = "offlinemsmtp -a personal"
offlinemsmtp accepts a number of command line arguments:
-h
, --help
- shows a help message and exits.-o DIR
, --outbox-directory DIR
- set the directory to use as the outbox.~/.offlinemsmtp-outbox
.-d
, --daemon
- run the offlinemsmtp daemon.-s
, --silent
- set to disable all logging and notifications.-i INTERVAL
, --interval INTERVAL
- set the interval (in seconds) at which-C FILE
, --file FILE
- the msmtp configuration file to use.--send-mail-file FILE
- only send mail if this file exists (defaults toNone
meaning that no file is required for mail sending to be enabled)msmtp
. The -C
argument ismsmtp
.--
argument will be passed to msmtp
. This allowsofflinemsmtp
arguments tomsmtp
.See the CONTRIBUTING.md document for details on how to contribute to the project.
msmtp
, but doesn't have all of the features that I want.