- name: Install Postfix & Postgrey apt: pkg={{ item }} with_items: - postfix - postfix-pcre - postfix-ldap - postfix-cdb - postgrey - libnet-ldap-perl - libauthen-sasl-perl - name: Configure Postgrey lineinfile: dest=/etc/default/postgrey regexp='^POSTGREY_OPTS=' line='POSTGREY_OPTS="--privacy --unix=/var/spool/postfix-{{ postfix_instance[inst].name }}/private/postgrey"' owner=root group=root mode=0644 register: r notify: - Restart Postgrey - name: Start Postgrey service: name=postgrey state=started when: not r.changed - meta: flush_handlers - name: Configure Postfix template: src=etc/postfix/main.cf.j2 dest=/etc/postfix-{{ postfix_instance[inst].name }}/main.cf owner=root group=root mode=0644 register: r notify: - Restart Postfix - name: Create directory /etc/postfix-.../virtual file: path=/etc/postfix-{{ postfix_instance[inst].name }}/virtual state=directory owner=root group=root mode=0755 - name: Copy lookup tables template: src=etc/postfix/virtual/{{ item }}.j2 dest=/etc/postfix-{{ postfix_instance[inst].name }}/virtual/{{ item }} owner=root group=root mode=0644 with_items: - mailbox_domains.cf - reserved_alias_maps - alias_maps.cf - catchall_maps.cf - transport_reserved_maps.pcre - transport_mailbox_maps.cf - transport_lists_maps.cf - transport_catchall_maps.cf - name: Compile the Reserved Transport Maps postmap: instance={{ postfix_instance[inst].name }} src=/etc/postfix-{{ postfix_instance[inst].name }}/virtual/reserved_alias_maps db=cdb owner=root group=root mode=0644 - name: Copy reserved-alias.pl copy: src=usr/local/sbin/reserved-alias.pl dest=/usr/local/sbin/reserved-alias.pl owner=root group=root mode=0755 - name: Start Postfix service: name=postfix state=started when: not r.changed - meta: flush_handlers