---
# postfix tasks
-- name: configure Postfix "mailname"
+# Debconf
+
+- name: 'debconf(1): configure Postfix as "Satellite system"'
tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/main_mailer_type
+ value="Satellite system"
+ vtype=select
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set system mail name'
+ tags:
+ - debconf
- mail
- - packages
- postfix
debconf: >
name=postfix
question=postfix/mailname
value="{{ postfix_mailname }}"
- vtype=select
+ vtype=string
+ notify:
+ - update "postfix" configuration
-- name: configure Postfix "destinations"
+- name: 'debconf(1): set SMTP relay host'
tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/relayhost
+ value="{{ smtp_relay_host }}"
+ vtype=string
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set root and postmaster recipient'
+ tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/root_address
+ value="{{ postfix_root_address }}"
+ vtype=string
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set other destinations to accept mail for'
+ tags:
+ - debconf
- mail
- - packages
- postfix
debconf: >
name=postfix
question=postfix/destinations
- value="{{ postfix_mailname }}, $myhostname, localhost.$mydomain, localhost"
+ value="{{ postfix_destinations }}"
+ vtype=string
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set local networks'
+ tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/mynetworks
+ value="{{ postfix_local_networks }}"
+ vtype=string
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set mailbox size limit'
+ tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/mailbox_limit
+ value="{{ postfix_mailbox_limit }}"
+ vtype=string
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set local address extension character'
+ tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/recipient_delim
+ value="{{ postfix_recipient_delim }}"
+ vtype=string
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): set internet protocols to use'
+ tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/protocols
+ value="{{ postfix_protocols }}"
vtype=select
+ notify:
+ - update "postfix" configuration
+
+- name: 'debconf(1): configure synchronous updates on mail queue'
+ tags:
+ - debconf
+ - mail
+ - postfix
+ debconf: >
+ name=postfix
+ question=postfix/chattr
+ value="{{ postfix_sync_updates }}"
+ vtype=boolean
+ notify:
+ - update "postfix" configuration
+
+# Install Debian package ...
- name: install "postfix" package
tags:
state=installed
name=postfix
+# Update configuration files
+
- name: setup "/etc/mailname"
tags:
- mail
template: >
dest=/etc/mailname
group=root
- mode=644
+ mode=0644
owner=root
src=mailname.j2
notify:
- restart "postfix"
+# Make sure settings in /etc/postfix/main.cf are the same than for debconf!
+
+- name: set other destinations to accept mail for (main.cf)
+ tags:
+ - mail
+ - postfix
+ lineinfile: >
+ dest=/etc/postfix/main.cf
+ line="mydestination = {{ postfix_destinations }}"
+ regexp="^mydestination"
+ notify:
+ - restart "postfix"
+
+- name: set local networks (main.cf)
+ tags:
+ - mail
+ - postfix
+ lineinfile: >
+ dest=/etc/postfix/main.cf
+ line="mynetworks = {{ postfix_local_networks }}"
+ regexp="^mynetworks"
+ notify:
+ - restart "postfix"
+
+- name: set internet protocols to use (main.cf)
+ tags:
+ - mail
+ - postfix
+ lineinfile: >
+ dest=/etc/postfix/main.cf
+ line="inet_protocols = {{ postfix_protocols }}"
+ regexp="^inet_protocols"
+ notify:
+ - restart "postfix"
+
- name: set Posfix "myorigin"
tags:
- mail
dest=/etc/postfix/main.cf
group=root
line="myorigin = /etc/mailname"
- mode=644
+ mode=0644
owner=root
regexp="^myorigin"
notify:
- restart "postfix"
-- name: set Posfix "myhostname"
+- name: set Posfix "inet_interfaces"
tags:
- mail
- postfix
lineinfile: >
dest=/etc/postfix/main.cf
- group=root
- line="myhostname = {{ inventory_hostname }}"
- mode=644
- owner=root
- regexp="^myhostname"
+ line="inet_interfaces = {{ postfix_interfaces }}"
+ regexp="^inet_interfaces"
notify:
- restart "postfix"
-- name: ensure service "postfix" is enabled and running
+# Coinfigure service
+
+- name: ensure service "postfix" is enabled and started
tags:
- mail
- postfix
service: >
enabled=yes
name=postfix
- state=running
+ state=started