summaryrefslogtreecommitdiffstats
path: root/roles/MX/tasks/main.yml
blob: 2ffe08df46618be3352b13228c639f5f498fb641 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
- 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