diff --git a/roles/opensmtpd/handlers/main.yml b/roles/opensmtpd/handlers/main.yml new file mode 100644 index 0000000..e361a88 --- /dev/null +++ b/roles/opensmtpd/handlers/main.yml @@ -0,0 +1,5 @@ +- name: restart smtpd + service: + name: smtpd + state: restarted + when: "'handler' not in ansible_skip_tags" diff --git a/roles/opensmtpd/tasks/main.yml b/roles/opensmtpd/tasks/main.yml index 651c33a..a29fd41 100644 --- a/roles/opensmtpd/tasks/main.yml +++ b/roles/opensmtpd/tasks/main.yml @@ -1,7 +1,15 @@ +# this role is currently for alpine linux only + - name: Install mail server package: name: opensmtpd +- name: Configure mail server + template: + dest: /etc/smtpd/smtpd.conf + src: smtpd.conf.j2 + notify: restart smtpd + - name: Enable mail server service: name: smtpd diff --git a/roles/opensmtpd/templates/smtpd.conf.j2 b/roles/opensmtpd/templates/smtpd.conf.j2 new file mode 100644 index 0000000..370080d --- /dev/null +++ b/roles/opensmtpd/templates/smtpd.conf.j2 @@ -0,0 +1,9 @@ +table aliases file:/etc/smtpd/aliases + +listen on lo + +action "local" maildir alias +action "relay" relay{% if mail_relay is defined %} host smtp+tls://{{ mail_relay }}{% endif +%} + +match for local action "local" +match from local for any action "relay"