diff --git a/playbook.yml b/playbook.yml index 0c7ae7a..ef46232 100644 --- a/playbook.yml +++ b/playbook.yml @@ -1,5 +1,6 @@ --- - name: Install services for lime2 home server + gather_facts: true hosts: lime2 roles: - role: common diff --git a/roles/mail/tasks/main.yml b/roles/mail/tasks/main.yml new file mode 100644 index 0000000..464456e --- /dev/null +++ b/roles/mail/tasks/main.yml @@ -0,0 +1,15 @@ +--- +- name: Install Postfix + become: true + ansible.builtin.apt: + name: postfix + state: present + +- name: Copy main.cf + become: true + ansible.builtin.template: + src: main.cf.j2 + dest: /etc/postfix/main.cf + owner: root + group: root + mode: 0644 diff --git a/roles/mail/templates/main.cf.j2 b/roles/mail/templates/main.cf.j2 new file mode 100644 index 0000000..93b9b31 --- /dev/null +++ b/roles/mail/templates/main.cf.j2 @@ -0,0 +1,33 @@ +#myorigin = /etc/mailname + +smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) +biff = no + +# appending .domain is the MUA's job. +append_dot_mydomain = no + + +readme_directory = no +compatibility_level = 2 + +# TLS parameters +smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem +smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key +smtpd_tls_security_level=may + +smtp_tls_CApath=/etc/ssl/certs +smtp_tls_security_level=may +smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache + + +smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination +myhostname = {{ ansible_hostname }} +alias_maps = hash:/etc/aliases +alias_database = hash:/etc/aliases +mydestination = $myhostname, {{ ansible_hostname }}, localhost.localdomain, , localhost +relayhost = +mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 +mailbox_size_limit = 0 +recipient_delimiter = + +inet_interfaces = all +inet_protocols = all