msmtp wrapper allowing for offline use
Allows you to use
msmtp offline by queuing email until you have an internet
- Runs as a daemon and (at a configurable time interval) attempts to send the mail in the queue directory.
- Drop-in replacement for
msmtpin your mutt config.
- Only attempts to send the queued email message if it can connect to the configured SMTP server.
- When a new email message comes into the queue and you are already online,
offlinemsmtpwill send it immediately.
- Integrates with system notifications so that you are notified when mail is being sent.
- Disable/enable sending of mail by the presence/absence of a file. This is useful if you want to have some sort of "offline mode".
pip install --user offlinemsmtp
On Arch Linux, you can install the
offlinemsmtp package from the
AUR. For example, if you use
yay -S offlinemsmtp
Run the daemon using systemd
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::
To enqueue emails, use the
offlinemsmtp executable without
parameters (with a few caveats described below in Command Line
Arguments) are forwarded on to
passed in via standard in will be forwarded over standard in to
msmtp when the
mail is sent.
Configuration with Mutt
To use offlinemsmtp with mutt, just replace
msmtp in your mutt configuration
offlinemsmtp. Here is an example:
set sendmail = "offlinemsmtp -a personal"
Command Line Arguments
offlinemsmtp accepts a number of command line arguments:
--help- shows a help message and exits.
--outbox-directory DIR- set the directory to use as the outbox. Defaults to
--daemon- run the offlinemsmtp daemon.
--silent- set to disable all logging and notifications.
--interval INTERVAL- set the interval (in seconds) at which to attempt to flush the send queue. Defaults to 60.
--file FILE- the msmtp configuration file to use.
--send-mail-file FILE- only send mail if this file exists (defaults to
Nonemeaning that no file is required for mail sending to be enabled)
- All remaining arguments are passed to
-Cargument is automatically passed to
- Anything after a special
--argument will be passed to
msmtp. This allows you to pass arguments that may conflict with
See the CONTRIBUTING.md document for details on how to contribute to the project.
- https://github.com/marlam/msmtp-mirror/tree/master/scripts/msmtpqueue - this
is included with
msmtp, but doesn't have all of the features that I want.
- https://github.com/dcbaker/py-mailqueued - looks cool, I didn't see it when I was researching, but it's probably better than my implementation, even thought I had a lot of fun doing mine.
- https://github.com/venkytv/msmtp-offline - it's written in Ruby.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for offlinemsmtp-0.3.10-py3-none-any.whl