Преглед изворни кода

Rewrite the way to relay emails (via postfix/sasl) to another mailhost with authentication

Emmanuel Bouthenot пре 6 година
родитељ
комит
077771c74e

+ 3 - 6
roles/common/defaults/main.yml

@@ -53,13 +53,10 @@ with_postfix: False
 with_postfix_slowsmtp: False
 with_mail_aliases: False
 with_postfix_external_smtp: False
-postfix_external_smtp_host: 'localhost'
-postfix_external_smtp_port: 587
-postfix_external_smtp_username: 'myuser'
-postfix_external_smtp_password: 'mypass'
 postfix_external_smtp_host_localdomain: Null
-postfix_external_sender_rewrite: False
-postfix_external_sender_rewrite_regexp: '.*'
+postfix_external_smtp_credentials: Null
+postfix_external_smtp_relays: Null
+postfix_external_sender_rewrites: Null
 
 with_ssh: True
 ssh_strengthened: True

+ 1 - 1
roles/common/tasks/smtp.yml

@@ -89,4 +89,4 @@
     mode: '0600'
   notify:
     - 'Reload Postfix'
-  when: with_postfix_external_smtp and postfix_external_sender_rewrite
+  when: with_postfix_external_smtp and postfix_external_sender_rewrites

+ 1 - 1
roles/common/templates/postfix/main.cf.j2

@@ -75,7 +75,7 @@ sender_dependent_relayhost_maps = hash:/etc/postfix/sasl/sender_relay
 {% if postfix_external_smtp_host_localdomain %}
 smtpd_sasl_local_domain = {{ postfix_external_smtp_host_localdomain }}
 {% endif %}
-{% if postfix_external_sender_rewrite %}
+{% if postfix_external_sender_rewrites %}
 sender_canonical_maps = regexp:/etc/postfix/sasl/sender_rewrite
 {% endif %}
 {% endif %}

+ 5 - 1
roles/common/templates/postfix/sasl_credentials.j2

@@ -2,4 +2,8 @@
 {% from 'templates/ansible/prolog.j2' import prolog with context %}
 {{ prolog() }}
 {% endif -%}
-[{{ postfix_external_smtp_host }}]:{{ postfix_external_smtp_port }} {{ postfix_external_smtp_username }}:{{ postfix_external_smtp_password }}
+{% if postfix_external_smtp_credentials %}
+{% for credential in postfix_external_smtp_credentials %}
+{{ credential.email }} {{ credential.username }}:{{ credential.password }}
+{% endfor %}
+{% endif %}

+ 5 - 2
roles/common/templates/postfix/sasl_sender_relay.j2

@@ -2,5 +2,8 @@
 {% from 'templates/ansible/prolog.j2' import prolog with context %}
 {{ prolog() }}
 {% endif -%}
-{{ postfix_external_smtp_username }} [{{ postfix_external_smtp_host }}]:{{ postfix_external_smtp_port }}
-
+{% if postfix_external_smtp_relays %}
+{% for relay in postfix_external_smtp_relays %}
+{{ relay.email }} [{{ relay.hostname }}]:{{ relay.port }}
+{% endfor %}
+{% endif %}

+ 5 - 1
roles/common/templates/postfix/sasl_sender_rewrite.j2

@@ -2,4 +2,8 @@
 {% from 'templates/ansible/prolog.j2' import prolog with context %}
 {{ prolog() }}
 {% endif -%}
-/{{ postfix_external_sender_rewrite_regexp }}/    {{ postfix_external_smtp_username }}
+{% if postfix_external_sender_rewrites %}
+{% for rewrite in postfix_external_sender_rewrites %}
+{{ rewrite.regexp }} {{ rewrite.email }}
+{% endfor %}
+{% endif %}