A fake SMTP server
Project description
Fakemail is a simple SMTP server that runs as a command line script, relaying incoming messages to an upstream server, to an HTTP endpoint or to stdout.
Fakemail is useful for testing emails during development: it can rewrite the envelope-to address on all messages to a single address, ensuring messages cannot be sent to real users.
Fakemail is useful for processing inbound messages in a web application, by acting as an SMTP-to-HTTP proxy.
Caution: Fakemail always runs as an open relay. Ensure you do not expose fakemail on a public address.
Installation
pip install -r requirements.txt
Usage
To see an up to date list of command line options, run:
python fakemail.py --help
Examples
Redirect emails for development:
python fakemail.py –bind 127.0.0.1:2525 –relay 127.0.0.1:25 –rewrite-to=myaddress@example.org
View emails on stdout:
python fakemail.py --bind 127.0.0.1:2525 --stdout
Feed emails into an HTTP endpoint (SMTP-to-HTTP):
python fakemail.py --bind 127.0.0.1:2525 --relay-url="https://mywebservice.example.org/mail-in" python fakemail.py --bind 127.0.0.1:2525 --relay-url="https://user:pass@mywebservice.example.org/mail-in"
Multiple relays are possible: you can relay via SMTP, to an HTTP endpoint, and log to stdout in a single process. If any one relay fails the mail will be rejected, even if other relays succeed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.