- name: configure Postfix (domain)
|
|
debconf:
|
|
name: 'postfix'
|
|
question: 'postfix/domainpostfix/main_mailer_type'
|
|
vtype: 'string'
|
|
value: 'Internet Site'
|
|
- name: configure Postfix (organization)
|
|
debconf:
|
|
name: 'postfix'
|
|
question: 'postfix/mailname'
|
|
vtype: 'string'
|
|
value: 'lilik.it'
|
|
|
|
- include_role:
|
|
name: service
|
|
vars:
|
|
service_name: postfix
|
|
service_packages:
|
|
- postfix
|
|
- postfix-ldap
|
|
# TODO: log, add a centralized log server
|
|
- rsyslog
|
|
|
|
- name: configure ldap-aliases for postfix
|
|
template:
|
|
src: ldap-aliases.cf.j2
|
|
dest: "/etc/postfix/ldap-aliases.cf"
|
|
notify: restart postfix
|
|
|
|
- name: provide postfix aliases from ldap-aliases
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "virtual_alias_maps = proxy:ldap:/etc/postfix/ldap-aliases.cf"
|
|
notify: restart postfix
|
|
|
|
- name: configure ldap-domains for postfix
|
|
template:
|
|
src: ldap-domains.cf.j2
|
|
dest: "/etc/postfix/ldap-domains.cf"
|
|
notify: restart postfix
|
|
|
|
- name: provide postfix mailbox domains from ldap-domains
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "virtual_mailbox_domains = proxy:ldap:/etc/postfix/ldap-domains.cf"
|
|
notify: restart postfix
|
|
|
|
|
|
- name: configure ldap-accounts for postfix
|
|
template:
|
|
src: ldap-accounts.cf.j2
|
|
dest: "/etc/postfix/ldap-accounts.cf"
|
|
notify: restart postfix
|
|
|
|
- name: provide postfix users from ldap-accounts
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "virtual_mailbox_maps = proxy:ldap:/etc/postfix/ldap-accounts.cf"
|
|
notify: restart postfix
|
|
|
|
- lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "mydestination = mail.lilik.it, localhost"
|
|
regexp: 'mydestination ='
|
|
state: present
|
|
notify: restart postfix
|
|
|
|
- name: edit postfix mynetworks
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/16"
|
|
regexp: 'mynetworks ='
|
|
state: present
|
|
notify: restart postfix
|
|
|
|
- name: enable tls for outgoing mail
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "smtp_tls_security_level = encrypt"
|
|
regexp: 'smtp_tls_security_level ='
|
|
state: present
|
|
notify: restart postfix
|
|
|
|
- name: create transport map
|
|
lineinfile:
|
|
dest: /etc/postfix/transport
|
|
line: "lists.lilik.it :[{{ lists_server }}]"
|
|
regexp: "lists.lilik.it"
|
|
create: yes
|
|
register: postfix_transport_result
|
|
notify: restart postfix
|
|
|
|
- name: ensure transport map is compiled
|
|
shell: postmap /etc/postfix/transport
|
|
notify: reload postfix
|
|
when: postfix_transport_result | changed
|
|
|
|
- name: enable transport map
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "transport_maps = hash:/etc/postfix/transport"
|
|
regexp: 'transport_maps ='
|
|
state: present
|
|
notify: restart postfix
|
|
|
|
- name: add lists.lilik.it relay
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
line: "relay_domains = lists.lilik.it"
|
|
regexp: 'relay_domains ='
|
|
state: present
|
|
notify: restart postfix
|
|
|
|
- name: install antivirus and anti spam services
|
|
include: antispam.yaml
|
|
|
|
- name: install opendkim service
|
|
include: dkim.yaml
|
|
|
|
- name: add milters for smtp to postfix
|
|
lineinfile:
|
|
dest: '/etc/postfix/main.cf'
|
|
line: 'smtpd_milters={{ postfix_milters|join(",") }}'
|
|
regexp: '^smtpd_milters='
|
|
notify: restart postfix
|
|
|
|
- name: add milters for non smtp to postfix
|
|
lineinfile:
|
|
dest: '/etc/postfix/main.cf'
|
|
line: 'non_smtpd_milters={{ postfix_milters|join(",") }}'
|
|
regexp: '^non_smtpd_milters='
|
|
notify: restart postfix
|