Data publikacji: Feb 25, 2015 11:59:55 AM
https://wied.it/blog/sender-dependent-default-transport-maps-with-postfix-the-easy-way.html
http://serverfault.com/questions/92181/how-to-make-postfix-use-another-ip-address
/etc/postfix/master.cf
smtp-out-default unix - - n - - smtp
-o syslog_name=smtp-out-default
-o smtp_helo_name=mail.default.pl
-o smtp_bind_address=1.1.1.1
smtp-out-1-1-1-1 unix - - n - - smtp
-o syslog_name=smtp-out-default
-o smtp_helo_name=mail.default.pl
-o smtp_bind_address=1.1.1.1
smtp-out-2-2-2-2 unix - - n - - smtp
-o syslog_name=smtp-out-default
-o smtp_helo_name=mail.domain-2-2-2-2.pl
-o smtp_bind_address=2.2.2.2
/etc/postfix/main.cf
inet_interfaces = 127.0.0.1, 1.1.1.1, 2.2.2.2
# bo brakuje sender_dependent_default_transport_maps
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $sender_dependent_default_transport_maps
sender_dependent_default_transport_maps = proxy:pgsql:/etc/postfix/maps/pgsql_transport_dependent.cf
/etc/postfix/maps/pgsql_transport_dependent.cf
...
query = select s.transport from (select d.domain,coalesce(t.transport, 'smtp-out-default') as transport from domain d left join domain2transport_out d2t on (d.domain = d2t.domain) left join transport_out t on (t.transport = d2t.transport and t.active = true) where d.domain = '%d' order by random() limit 1) as s;
postfix=# \d transport_out
Tabela "public.transport_out"
Kolumna | Typ | Modyfikatory
-----------+------------------------+-------------------------
transport | character varying(255) | niepusty
active | boolean | niepusty domyślnie true
Indeksy:
"transport_out_pkey" PRIMARY KEY, btree (transport)
postfix=# \d domain2transport_out
Tabela "public.domain2transport_out"
Kolumna | Typ | Modyfikatory
-----------+------------------------+--------------
domain | character varying(255) | niepusty
transport | character varying(255) | niepusty
Indeksy:
"domain2transport_out_pkey" PRIMARY KEY, btree (domain, transport)
postfix=# select * from transport_out;
transport | active
-------------------------+--------
smtp-out-1-1-1-1 | t
smtp-out-2-2-2-2 | t
postfix=# select * from domain2transport_out;
domain | transport
-------------------+-------------------------
domain-2-2-2-2.pl | smtp-out-2-2-2-2