--- - name: "Postfix | Copy main.cf" ansible.builtin.template: src: postfix/main.cf.j2 dest: /etc/postfix/main.cf mode: "0644" notify: reload postfix tags: maincf - name: "Postfix | Copy master.cf" ansible.builtin.template: src: postfix/master.cf dest: /etc/postfix/master.cf mode: "0644" notify: restart postfix tags: mastercf - name: "Postfix | Create configuration directory" ansible.builtin.file: path: "{{ postfix_conf_dir }}" state: directory mode: "0755" - name: "Postfix | Copy lookup tables" ansible.builtin.copy: src: "postfix/conf.d/{{ item }}" dest: "{{ postfix_conf_dir }}/{{ item }}" mode: "0644" loop: - header_checks - header_checks_inbound - name: "Postfix | Copy lookup tables from templates" ansible.builtin.template: src: "postfix/conf.d/{{ item }}.j2" dest: "{{ postfix_conf_dir }}/{{ item }}" mode: "0644" loop: - bad_smtp_auth_users - bogus_mx - canonical - client_checks - destination_limit - header_add - header_treatment - helo_checks - permit_sasl_login_mismatch - postscreen_access - relay_by_sender - relay_checks - sender_canonical - sender_checks - smtp_sasl_auth_password - transport_global_exceptions - transport_relay notify: reload postfix - name: "Postfix | Run postmap" ansible.builtin.command: "postmap {{ item.table | default('cdb') }}:{{ item.file }}" args: chdir: "{{ postfix_conf_dir }}" changed_when: false notify: reload postfix loop: - file: bad_smtp_auth_users - file: canonical - file: client_checks - file: destination_limit - file: permit_sasl_login_mismatch - file: relay_checks - file: sender_canonical - file: sender_checks - file: smtp_sasl_auth_password - file: transport_relay - name: "Postfix | Create dhparam file" community.crypto.openssl_dhparam: path: "{{ postfix_dhparam_file }}" size: 4096 when: postfix_type == "internet"