Add basic LDAP config for recipients and senders

This commit is contained in:
Morre 2020-07-03 13:46:00 +02:00
parent 660b1900c8
commit 782a07a450
No known key found for this signature in database
GPG key ID: 5D9B9B1B8F424BBC
5 changed files with 46 additions and 12 deletions

View file

@ -15,5 +15,9 @@ postfix:
virtual_mailbox_domains: [] virtual_mailbox_domains: []
mynetworks: [] mynetworks: []
mydestination: [] mydestination: []
ldap:
enable: false
server_host: ldap.example.com
search_base: "dc=example,dc=com"
postfixmaps: [] postfixmaps: []

View file

@ -1,23 +1,23 @@
- name: install postfix - name: install postfix
apt: apt:
pkg: postfix pkg:
- postfix
- postfix-ldap
- name: remove exim4 package - name: remove exim4 package
apt: apt:
name: exim4 name: exim4
state: absent state: absent
- name: copy main.cf - name: copy postfix config
template: template:
src: main.cf.j2 src: "{{ item.src }}"
dest: /etc/postfix/main.cf dest: "{{ item.dest }}"
notify: with_items:
- restart postfix - { src: "main.cf.j2", dest: "/etc/postfix/main.cf" }
- { src: "master.cf.j2", dest: "/etc/postfix/master.cf" }
- name: copy master.cf - { src: "virtual-senders.cf.j2", dest: "/etc/postfix/virtual-senders.cf" }
template: - { src: "virtual-recipients.cf.j2", dest: "/etc/postfix/virtual-recipients.cf" }
src: master.cf.j2
dest: /etc/postfix/master.cf
notify: notify:
- restart postfix - restart postfix

View file

@ -48,7 +48,7 @@ relay_domains = {{ postfix.relay_domains|join(', ') }}
relay_transport = {{ postfix.relay_transport }} relay_transport = {{ postfix.relay_transport }}
sender_dependent_relayhost_maps = {{ postfix.sender_dependent_relayhost_maps }} sender_dependent_relayhost_maps = {{ postfix.sender_dependent_relayhost_maps }}
virtual_alias_maps = {{ postfix.virtual_alias_maps }} virtual_alias_maps = {{ postfix.virtual_alias_maps }}
virtual_mailbox_domains = {{ postfix.virtual_mailbox_domains|join(' ') }} virtual_mailbox_domains = {{ postfix.virtual_mailbox_domains|join(' ') }}
mailbox_size_limit = 0 mailbox_size_limit = 0
recipient_delimiter = + recipient_delimiter = +
@ -69,6 +69,13 @@ dovecot_destination_recipient_limit = 1
virtual_transport = dovecot virtual_transport = dovecot
{% endif %} {% endif %}
{% if postfix.ldap.enable %}
# LDAP config
smtpd_sender_login_maps = proxy:ldap:/etc/postfix/virtual-senders.cf
virtual_mailbox_maps = proxy:ldap:/etc/postfix/virtual-recipients.cf
local_recipient_maps = $virtual_mailbox_maps
{% endif %}
# opendkim # opendkim
{% if postfix.enable_opendkim %} {% if postfix.enable_opendkim %}

View file

@ -0,0 +1,12 @@
{% if postfix.ldap.enable %}
bind = yes
# bind_dn =
# bind_pw =
server_host = {{ postfix.ldap.server_host }}
search_base = {{ postfix.ldap.recipients.search_base }}
query_filter = {{ postfix.ldap.recipients.query_filter }}
result_attribute = cn
result_format =%s
{% else %}
# LDAP is not configured for this server.
{% endif %}

View file

@ -0,0 +1,11 @@
{% if postfix.ldap.enable %}
bind = yes
# bind_dn =
# bind_pw =
server_host = {{ postfix.ldap.server_host }}
search_base = {{ postfix.ldap.senders.search_base }}
query_filter = {{ postfix.ldap.senders.query_filter }}
result_attribute = cn
{% else %}
# LDAP is not configured for this server.
{% endif %}