By default some system daemons, like cron
send email from the hostname like this: root@mydroplet-ubuntu-s-1cpu-1gb-nyc3
. To avoid blocked or spammed messages, configure sSMTP “revaliases” in trellis/roles/ssmtp/defaults/main.yml
:
ssmtp_package: ssmtp
ssmtp_auth_method: LOGIN
ssmtp_from_override: 'Yes'
ssmtp_start_tls: 'Yes'
ssmtp_tls: 'Yes'
ssmtp_revaliases:
- user: root
from: root@example.com
smtp_server: "{{ mail_smtp_server }}"
- user: "{{ admin_user }}"
from: admin@example.com
smtp_server: "{{ mail_smtp_server }}"
- user: "{{ web_user }}"
from: web@example.com
smtp_server: "{{ mail_smtp_server }}"
and deploy the mail
tasks:
ansible-playbook server.yml -e env=production -K --tags mail
I’m not sure if the -K
flag, which prompts for sudo password, is necessary. (UPDATE, it’s not).
This will populate a /etc/ssmtp/revaliases
a file on the server.