diff --git a/roles/tools/tasks/main.yml b/roles/tools/tasks/main.yml index 8bf6b99..398571b 100644 --- a/roles/tools/tasks/main.yml +++ b/roles/tools/tasks/main.yml @@ -61,16 +61,26 @@ delay: 10 until: postfix_status.rc == 0 +# Check the host-side mounted config file directly (setup email list fails if file doesn't exist yet) - name: Check if noreply mail account exists + ansible.builtin.stat: + path: "{{ tools_root }}/mailserver/config/postfix-accounts.cf" + register: postfix_accounts_file + +- name: Check noreply account in postfix-accounts.cf ansible.builtin.command: > - docker exec mailserver setup email list - register: mail_accounts + grep -q "noreply@{{ domain_base }}" {{ tools_root }}/mailserver/config/postfix-accounts.cf + register: mail_account_check changed_when: false + failed_when: false + when: postfix_accounts_file.stat.exists - name: Create noreply mail account ansible.builtin.command: > docker exec mailserver setup email add noreply@{{ domain_base }} {{ mailserver_noreply_password }} - when: "'noreply@' + domain_base not in mail_accounts.stdout" + when: > + not postfix_accounts_file.stat.exists or + (mail_account_check.rc is defined and mail_account_check.rc != 0) - name: Check if DKIM key exists ansible.builtin.stat: