More work to support LDAP based mail configuration. We need host,dns resolver and transport maps

This commit is contained in:
Deon George 2025-04-25 00:07:16 +10:00
parent 735ae4bcc7
commit 95a35fc890
8 changed files with 20 additions and 7 deletions

View File

@ -5,7 +5,6 @@ bind = no
#bind_dn = cn=admin,dc=example,dc=com #bind_dn = cn=admin,dc=example,dc=com
#bind_pw = password #bind_pw = password
query_filter = (&(objectClass=inetLocalMailRecipient) (!(mailHost=@THIS_HOST@)) (dc=%s)) query_filter = (&(objectClass=inetLocalMailRecipient) (!(mailHost=@THIS_HOST@)) (dc=%s))
#domain = example.com, hash:/etc/postfix/searchdomains
#expansion_limit = 1 #expansion_limit = 1
#recursion_limit = 1 #recursion_limit = 1
#size_limit = $expansion_limit #size_limit = $expansion_limit

View File

@ -5,9 +5,8 @@ bind = no
#bind_dn = cn=admin,dc=example,dc=com #bind_dn = cn=admin,dc=example,dc=com
#bind_pw = password #bind_pw = password
query_filter = (&(objectClass=inetLocalMailRecipient) (|(mail=%s)(mailLocalAddress=%s))) query_filter = (&(objectClass=inetLocalMailRecipient) (|(mail=%s)(mailLocalAddress=%s)))
#domain = example.com, hash:/etc/postfix/searchdomains
#expansion_limit = 1 #expansion_limit = 1
#recursion_limit = 1 #recursion_limit = 1
#size_limit = $expansion_limit #size_limit = $expansion_limit
result_attribute = entryUUID result_attribute = mailHost
# result_format = %s result_format = relay:[%s]

View File

@ -0,0 +1,12 @@
server_host = ldap
search_base = @LDAP_SEARCH_BASE@
version = 3
bind = no
#bind_dn = cn=admin,dc=example,dc=com
#bind_pw = password
query_filter = (&(objectClass=inetLocalMailRecipient) (|(mail=%s)(mailLocalAddress=%s)))
#expansion_limit = 1
#recursion_limit = 1
#size_limit = $expansion_limit
result_attribute = mailHost
result_format = :[%s]

View File

@ -5,7 +5,6 @@ bind = no
#bind_dn = cn=admin,dc=example,dc=com #bind_dn = cn=admin,dc=example,dc=com
#bind_pw = password #bind_pw = password
query_filter = (&(objectClass=inetLocalMailRecipient) (mailHost=@THIS_HOST@) (|(mail=%s)(mailLocalAddress=%s))) query_filter = (&(objectClass=inetLocalMailRecipient) (mailHost=@THIS_HOST@) (|(mail=%s)(mailLocalAddress=%s)))
#domain = example.com, hash:/etc/postfix/searchdomains
#expansion_limit = 1 #expansion_limit = 1
#recursion_limit = 1 #recursion_limit = 1
#size_limit = $expansion_limit #size_limit = $expansion_limit

View File

@ -5,7 +5,6 @@ bind = no
#bind_dn = cn=admin,dc=example,dc=com #bind_dn = cn=admin,dc=example,dc=com
#bind_pw = password #bind_pw = password
query_filter = (&(objectClass=inetLocalMailRecipient) (|(mail=%s)(mailLocalAddress=%s))) query_filter = (&(objectClass=inetLocalMailRecipient) (|(mail=%s)(mailLocalAddress=%s)))
#domain = example.com, hash:/etc/postfix/searchdomains
#expansion_limit = 1 #expansion_limit = 1
#recursion_limit = 1 #recursion_limit = 1
#size_limit = $expansion_limit #size_limit = $expansion_limit

View File

@ -93,6 +93,10 @@ if [ -z "$@" ]; then
cp ${DEFAULTS}/ldap_relay_recipient_maps ${CUSTOM}/ cp ${DEFAULTS}/ldap_relay_recipient_maps ${CUSTOM}/
sed -i -e "s%@THIS_HOST@%${HOSTNAME}%" -e "s%@LDAP_SEARCH_BASE@%${LDAP_SEARCH_BASE}%" ${CUSTOM}/ldap_relay_recipient_maps sed -i -e "s%@THIS_HOST@%${HOSTNAME}%" -e "s%@LDAP_SEARCH_BASE@%${LDAP_SEARCH_BASE}%" ${CUSTOM}/ldap_relay_recipient_maps
fi fi
if [ ! -f ${CUSTOM}/ldap_transport_maps ]; then
cp ${DEFAULTS}/ldap_transport_maps ${CUSTOM}/
sed -i -e "s%@THIS_HOST@%${HOSTNAME}%" -e "s%@LDAP_SEARCH_BASE@%${LDAP_SEARCH_BASE}%" ${CUSTOM}/ldap_transport_maps
fi
fi fi
[ ! -f ${CUSTOM}/header_checks ] && cp ${DEFAULTS}/header_checks ${CUSTOM}/ && postmap -o lmdb:${CUSTOM}/header_checks [ ! -f ${CUSTOM}/header_checks ] && cp ${DEFAULTS}/header_checks ${CUSTOM}/ && postmap -o lmdb:${CUSTOM}/header_checks

View File

@ -1,3 +1,4 @@
smtp_host_lookup = native,dns
message_size_limit = 25600000 message_size_limit = 25600000
queue_minfree = 51200000 queue_minfree = 51200000
smtpd_helo_required = yes smtpd_helo_required = yes

View File

@ -1,7 +1,7 @@
#relayhost = /etc/postfix/custom/relay_host #relayhost = /etc/postfix/custom/relay_host
relay_domains = lmdb:/etc/postfix/custom/relay_domains # ldap:/etc/postfix/custom/ldap_relay_domains relay_domains = lmdb:/etc/postfix/custom/relay_domains # ldap:/etc/postfix/custom/ldap_relay_domains
relay_recipient_maps = lmdb:/etc/postfix/custom/relay_recipient_maps # ldap:/etc/postfix/custom/ldap_relay_recipient_maps relay_recipient_maps = lmdb:/etc/postfix/custom/relay_recipient_maps # ldap:/etc/postfix/custom/ldap_relay_recipient_maps
transport_maps = lmdb:/etc/postfix/custom/relay_domains transport_maps = lmdb:/etc/postfix/custom/relay_domains # ldap:/etc/postfix/custom/ldap_transport_maps
#transport_maps = $relay_domains #transport_maps = $relay_domains
#relay_transport = lmdb:/etc/postfix/custom/relay_domains <-- THIS DOESNT WORK? #relay_transport = lmdb:/etc/postfix/custom/relay_domains <-- THIS DOESNT WORK?
#relay_transport = relay:[c-8-2.leenooks.lan]:1025 <-- THIS DOES WORK #relay_transport = relay:[c-8-2.leenooks.lan]:1025 <-- THIS DOES WORK