From 8787a70a04b50fa329d298113a8ab0cb27e75040 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Mon, 25 Sep 2023 19:22:34 +0300 Subject: refactor: drop smathost-client, in favor of mail-client Sponsored-by: author --- ansible/roles/mail-client/files/aliases | 2 + ansible/roles/mail-client/tasks/main.yml | 51 +++++++++++++++++++--- ansible/roles/mail-client/templates/main.cf | 2 +- ansible/roles/smarthost-client/files/aliases | 2 - ansible/roles/smarthost-client/handlers/main.yml | 2 - ansible/roles/smarthost-client/tasks/main.yml | 46 ------------------- ansible/roles/smarthost-client/templates/main.cf | 46 ------------------- .../roles/smarthost-client/templates/sasl_passwd | 1 - 8 files changed, 47 insertions(+), 105 deletions(-) create mode 100644 ansible/roles/mail-client/files/aliases delete mode 100644 ansible/roles/smarthost-client/files/aliases delete mode 100644 ansible/roles/smarthost-client/handlers/main.yml delete mode 100644 ansible/roles/smarthost-client/tasks/main.yml delete mode 100644 ansible/roles/smarthost-client/templates/main.cf delete mode 100644 ansible/roles/smarthost-client/templates/sasl_passwd (limited to 'ansible/roles') diff --git a/ansible/roles/mail-client/files/aliases b/ansible/roles/mail-client/files/aliases new file mode 100644 index 0000000..040d695 --- /dev/null +++ b/ansible/roles/mail-client/files/aliases @@ -0,0 +1,2 @@ +root: liw +liw: liw@liw.fi diff --git a/ansible/roles/mail-client/tasks/main.yml b/ansible/roles/mail-client/tasks/main.yml index 63df37e..b18a4bf 100644 --- a/ansible/roles/mail-client/tasks/main.yml +++ b/ansible/roles/mail-client/tasks/main.yml @@ -1,9 +1,46 @@ -- name: "install email stuff" +- name: "install mail client packages" apt: name: - - mutt - - notmuch - - notmuch-mutt - - offlineimap - - procmail - - clab + - clab + - isync + - libsasl2-modules + - mailutils + - mutt + - notmuch + - notmuch-mutt + - postfix + +- name: "configure postfix" + template: + src: main.cf + dest: /etc/postfix/main.cf + notify: restart postfix + +- name: "set mailname" + copy: + content: "{{ mailname }}\n" + dest: /etc/mailname + owner: root + group: root + mode: 0644 + +- name: "set smarthost relay credentials" + template: + src: sasl_passwd + dest: /etc/postfix/sasl_passwd + mode: 0600 + +- name: "postmap relay credentials" + shell: | + postmap /etc/postfix/sasl_passwd + +- name: "install aliases" + copy: + src: aliases + dest: /etc/aliases + owner: root + group: root + mode: 0644 + +- name: "run newaliases" + shell: newaliases diff --git a/ansible/roles/mail-client/templates/main.cf b/ansible/roles/mail-client/templates/main.cf index 39e9109..af8e058 100644 --- a/ansible/roles/mail-client/templates/main.cf +++ b/ansible/roles/mail-client/templates/main.cf @@ -32,7 +32,7 @@ myhostname = {{ mailname }} alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname -mydestination = {{ mailname }}, {{ hostname }}, localhost.localdomain, localhost +mydestination = {{ mailname }}, {{ sane_debian_system_hostname }}, localhost.localdomain, localhost relayhost = {{ relayhost }} mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_command = procmail -a "$EXTENSION" diff --git a/ansible/roles/smarthost-client/files/aliases b/ansible/roles/smarthost-client/files/aliases deleted file mode 100644 index 040d695..0000000 --- a/ansible/roles/smarthost-client/files/aliases +++ /dev/null @@ -1,2 +0,0 @@ -root: liw -liw: liw@liw.fi diff --git a/ansible/roles/smarthost-client/handlers/main.yml b/ansible/roles/smarthost-client/handlers/main.yml deleted file mode 100644 index 6cdc4d4..0000000 --- a/ansible/roles/smarthost-client/handlers/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: restart postfix - service: name=postfix state=restarted diff --git a/ansible/roles/smarthost-client/tasks/main.yml b/ansible/roles/smarthost-client/tasks/main.yml deleted file mode 100644 index 61830c9..0000000 --- a/ansible/roles/smarthost-client/tasks/main.yml +++ /dev/null @@ -1,46 +0,0 @@ -# A mail client needs to send mail. I prefer to send via a local MTA, -# which routes things out via a smarthost. - -- name: install postfix and related packages - apt: - name: - - postfix - - libsasl2-modules - - mailutils - -- name: configure postfix - template: - src: main.cf - dest: /etc/postfix/main.cf - notify: restart postfix - -- name: set mailname - copy: - content: "{{ mailname }}\n" - dest: /etc/mailname - owner: root - group: root - mode: 0644 - -# Set up the smarthost relay credentials. - -- name: set smarthost relay credentials - template: - src: sasl_passwd - dest: /etc/postfix/sasl_passwd - mode: 0600 - -- name: postmap relay credentials - shell: | - postmap /etc/postfix/sasl_passwd - -- name: install aliases - copy: - src: aliases - dest: /etc/aliases - owner: root - group: root - mode: 0644 - -- name: run newaliases - shell: newaliases diff --git a/ansible/roles/smarthost-client/templates/main.cf b/ansible/roles/smarthost-client/templates/main.cf deleted file mode 100644 index af8e058..0000000 --- a/ansible/roles/smarthost-client/templates/main.cf +++ /dev/null @@ -1,46 +0,0 @@ -# See /usr/share/postfix/main.cf.dist for a commented, more complete version - - -# Debian specific: Specifying a file name will cause the first -# line of that file to be used as the name. The Debian default -# is /etc/mailname. -#myorigin = /etc/mailname - -smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) -biff = no - -# appending .domain is the MUA's job. -append_dot_mydomain = yes - -# Uncomment the next line to generate "delayed mail" warnings -#delay_warning_time = 4h - -readme_directory = no - -# TLS parameters -smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem -smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key -smtpd_use_tls=yes -smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache -smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache - -# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for -# information on enabling SSL in the smtp client. - -smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination -myhostname = {{ mailname }} -alias_maps = hash:/etc/aliases -alias_database = hash:/etc/aliases -myorigin = /etc/mailname -mydestination = {{ mailname }}, {{ sane_debian_system_hostname }}, localhost.localdomain, localhost -relayhost = {{ relayhost }} -mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 -mailbox_command = procmail -a "$EXTENSION" -mailbox_size_limit = 0 -recipient_delimiter = + -inet_interfaces = 127.0.0.1 -smtp_sasl_auth_enable = yes -smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd -smtp_sasl_security_options = noanonymous -smtp_use_tls = yes -smtp_tls_note_starttls_offer = yes diff --git a/ansible/roles/smarthost-client/templates/sasl_passwd b/ansible/roles/smarthost-client/templates/sasl_passwd deleted file mode 100644 index da722f6..0000000 --- a/ansible/roles/smarthost-client/templates/sasl_passwd +++ /dev/null @@ -1 +0,0 @@ -{{ smarthost }} {{ smarthost_user }}:{{ smarthost_password }} -- cgit v1.2.1