diff --git a/roles/postfix/handlers/main.yml b/roles/postfix/handlers/main.yml new file mode 100644 index 0000000..bea754c --- /dev/null +++ b/roles/postfix/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart postfix + service: + name: postfix + state: restarted diff --git a/roles/postfix/tasks/main.yml b/roles/postfix/tasks/main.yml new file mode 100644 index 0000000..34e6cb3 --- /dev/null +++ b/roles/postfix/tasks/main.yml @@ -0,0 +1,69 @@ +--- +- name: check support + fail: + msg: Role not supported in your system + when: ansible_os_family != "RedHat" + +- name: install postfix + package: + name: postfix + state: installed + +- name: configure myhostname + lineinfile: + path: /etc/postfix/main.cf + regexp: '^myhostname\s*=' + insertafter: '^#myhostname\s*=' + line: "myhostname = {{ inventory_hostname }}" + notify: restart postfix + +- name: configure relayhost + lineinfile: + path: /etc/postfix/main.cf + regexp: '^relayhost\s*=' + insertafter: '^#relayhost\s*=' + line: "relayhost = [{{ mail_server }}]:465" + notify: restart postfix + when: mail_server is defined + +- name: configure masquerade_classes + lineinfile: + path: /etc/postfix/main.cf + regexp: '^masquerade_classes\s*=' + insertafter: '^#?relayhost\s*=' + line: "masquerade_classes = envelope_sender" + notify: restart postfix + when: mail_domain is defined + +- name: configure masquerade_domains + lineinfile: + path: /etc/postfix/main.cf + regexp: '^masquerade_domains\s*=' + insertafter: '^masquerade_classes\s*=' + line: "masquerade_domains = {{ mail_domain }}" + notify: restart postfix + when: mail_domain is defined + +- name: configure smtp_tls_security_level + lineinfile: + path: /etc/postfix/main.cf + regexp: '^smtp_tls_security_level\s*=' + insertafter: '^#?relayhost\s*=' + line: "smtp_tls_security_level = encrypt" + notify: restart postfix + when: mail_server is defined + +- name: configure smtp_tls_security_level + lineinfile: + path: /etc/postfix/main.cf + regexp: '^smtp_tls_wrappermode\s*=' + insertafter: '^#?relayhost\s*=' + line: "smtp_tls_wrappermode = yes" + notify: restart postfix + when: mail_server is defined + +- name: enable postfix service + service: + name: postfix + state: started + enabled: true