Skip to content
Snippets Groups Projects
Commit 193713fd authored by Thomas Schneider's avatar Thomas Schneider
Browse files

Add opensmtpd-relay role

parent 2d64d3b9
No related branches found
No related tags found
No related merge requests found
Pipeline #5012 passed
---
opensmtpd_system_user_max: 999
mailname: example.org
opensmtpd_relayhost: mail.example.org
adminaddr: admin@{{ mailname }}
---
- name: Restart OpenSMTPD
systemd:
name: opensmtpd.service
state: restarted
---
- name: Install OpenSMTPD and required tools
package:
name:
- opensmtpd
- moreutils # sponge, for update-opensmtpd-system-user
state: present
- name: Remove esmtp
package:
name: esmtp
state: absent
- name: Configure mailname
copy:
content: "{{ mailname }}\n"
dest: /etc/{{ "opensmtpd/" if is_rhel }}mailname
owner: root
group: root
mode: "0644"
notify:
- Restart OpenSMTPD
- name: Configure smtpd.conf
template:
src: smtpd.conf.j2
dest: /etc/{{ "opensmtpd/" if is_rhel }}smtpd.conf
owner: root
group: root
mode: "0644"
validate: /usr/sbin/smtpd -f %s -n
notify:
- Restart OpenSMTPD
- name: Install update-opensmtpd-system-user script
template:
src: update-opensmtpd-system-user.j2
dest: /usr/local/sbin/update-opensmtpd-system-user
owner: root
group: root
mode: "0754"
- name: Configure system-user table cronjob
cron:
name: opensmtpd-system-user
cron_file: opensmtpd-system-user
user: root
minute: "*/5"
job: /usr/local/sbin/update-opensmtpd-system-user
- name: Enable and start OpenSMTPD
systemd:
name: opensmtpd.service
state: started
enabled: true
table systemusers file:/etc/opensmtpd/systemusers
filter "local-system-user" phase rcpt-to match rcpt-to <systemusers> rewrite "<{{ adminaddr }}>"
listen on localhost filter "local-system-user"
listen on socket filter "local-system-user"
action "relay" relay host "{{ opensmtpd_relayhost }}" helo "{{ ansible_fqdn }}"
match from local for any action "relay"
#!/usr/bin/env bash
set -e
set -o pipefail
getent passwd | awk -F: \
'$3 <= {{ opensmtpd_system_user_max }} { print $1 "@{{ mailname }}" }' \
| sponge /etc/{{ "opensmtpd/" if is_rhel }}systemusers
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment