This is a Vagrant Environment for a Mail Server. It provides the Message Transfer Agent (MTA) and the Mail Delivery Agent (MDA).
This lets you easily test your application code against a real sandboxed Mail Server.
It uses the following software stack:
- Postfix to the handle mail storage, reception, and transmission using the Simple Mail Transfer Protocol (SMTP).
- Also show how to configure Postfix in Satellite mode to relay emails to the Postfix server.
- Also show how to configure nullmailer to relay emails to the Postfix server.
- Dovecot to access the mail storage using the Internet Message Access Protocol (IMAP).
- Dovecot for providing User Authentication to Postfix (SMTP AUTH) through the Simple Authentication and Security Layer (SASL).
- Dnsmasq to handle the internal Domain Name System (DNS).
- nginx to serve the Automatic Mail Account Configuration (aka Autoconfiguration) endpoint.
Build and install the Ubuntu Base Box.
Run vagrant up mail
to configure the mail.example.com
mail server environment.
Run vagrant up satellite
to configure the satellite.example.com
environment in Postfix Satellite mode that relays all mails to the mail server environment.
Configure your system /etc/hosts
file with the example.com
and mail.example.com
domains:
192.168.33.254 example.com
192.168.33.254 mail.example.com
Access http://mail.example.com and follow the instructions to configure your Mail Client with a pre-configured account (all use the password
password):
alice@example.com
bob@example.com
carol@example.com
dave@example.com
eve@example.com
frank@example.com
grace@example.com
henry@example.com
This also has some pre-configured aliases to alice@example.com
:
root
abuse
postmaster
hostmaster
mailer-daemon
At http://mail.example.com/examples you have some examples on how to programmatically use the mail server (e.g. from Python).
To troubleshoot, watch the Mail Server logs with vagrant ssh
and journalctl --follow
.