aboutsummaryrefslogtreecommitdiffstats
path: root/roles/postfix_client
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:23:43 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-04 01:52:13 -0500
commit0261e875679f1bf63c8d689da7fc7e014597885d (patch)
tree3f19cd74a0c1070944f75437f30b098d6ef2ffcb /roles/postfix_client
downloadselfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.tar.gz
selfhosted-0261e875679f1bf63c8d689da7fc7e014597885d.zip
initial commit
Diffstat (limited to 'roles/postfix_client')
-rw-r--r--roles/postfix_client/defaults/main.yml3
-rw-r--r--roles/postfix_client/handlers/main.yml4
-rw-r--r--roles/postfix_client/tasks/main.yml16
-rw-r--r--roles/postfix_client/templates/etc/postfix/main.cf.j241
-rw-r--r--roles/postfix_client/vars/main.yml9
5 files changed, 73 insertions, 0 deletions
diff --git a/roles/postfix_client/defaults/main.yml b/roles/postfix_client/defaults/main.yml
new file mode 100644
index 0000000..e389380
--- /dev/null
+++ b/roles/postfix_client/defaults/main.yml
@@ -0,0 +1,3 @@
+postfix_relayhost: '{{ email_domain }}'
+postfix_myorigin: '{{ email_domain }}'
+postfix_message_size_limit: 67108864 # 64 MB
diff --git a/roles/postfix_client/handlers/main.yml b/roles/postfix_client/handlers/main.yml
new file mode 100644
index 0000000..5d68d61
--- /dev/null
+++ b/roles/postfix_client/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: restart postfix
+ systemd:
+ name: postfix
+ state: restarted
diff --git a/roles/postfix_client/tasks/main.yml b/roles/postfix_client/tasks/main.yml
new file mode 100644
index 0000000..1d785a8
--- /dev/null
+++ b/roles/postfix_client/tasks/main.yml
@@ -0,0 +1,16 @@
+- name: install packages
+ dnf:
+ name: '{{ postfix_packages[ansible_distribution_major_version] }}'
+ state: present
+
+- name: generate postifx configuration
+ template:
+ src: etc/postfix/main.cf.j2
+ dest: /etc/postfix/main.cf
+ notify: restart postfix
+
+- name: enable postfix
+ systemd:
+ name: postfix
+ enabled: yes
+ state: started
diff --git a/roles/postfix_client/templates/etc/postfix/main.cf.j2 b/roles/postfix_client/templates/etc/postfix/main.cf.j2
new file mode 100644
index 0000000..2cb5a34
--- /dev/null
+++ b/roles/postfix_client/templates/etc/postfix/main.cf.j2
@@ -0,0 +1,41 @@
+compatibility_level = 2
+
+# path definitions (package defaults)
+queue_directory = /var/spool/postfix
+command_directory = /usr/sbin
+daemon_directory = /usr/libexec/postfix
+data_directory = /var/lib/postfix
+mail_owner = postfix
+
+sendmail_path = /usr/sbin/sendmail.postfix
+newaliases_path = /usr/bin/newaliases.postfix
+mailq_path = /usr/bin/mailq.postfix
+setgid_group = postdrop
+html_directory = no
+manpage_directory = /usr/share/man
+sample_directory = /usr/share/doc/postfix/samples
+readme_directory = /usr/share/doc/postfix/README_FILES
+meta_directory = /etc/postfix
+shlib_directory = /usr/lib64/postfix
+
+smtpd_discard_ehlo_keywords = ''
+
+myorigin = {{ postfix_myorigin }}
+
+biff = no
+# disable local delivery
+mydestination =
+
+inet_interfaces = loopback-only
+inet_protocols = all
+mynetworks_style = host
+
+relayhost = {{ postfix_relayhost }}
+
+alias_database = hash:/etc/aliases
+
+smtputf8_enable = yes
+message_size_limit = {{ postfix_message_size_limit }}
+
+smtp_tls_security_level = may
+smtp_tls_CAfile = {{ postfix_smtp_ca_file }}
diff --git a/roles/postfix_client/vars/main.yml b/roles/postfix_client/vars/main.yml
new file mode 100644
index 0000000..39bbb57
--- /dev/null
+++ b/roles/postfix_client/vars/main.yml
@@ -0,0 +1,9 @@
+postfix_smtp_ca_file: /etc/pki/tls/certs/ca-bundle.crt
+
+postfix_packages:
+ '8':
+ - postfix
+ - mailx
+ '9':
+ - postfix
+ - s-nail