Warum Relay access denied ?
Alex JOST
jost+lists at dimejo.at
Mo Nov 23 22:25:42 CET 2015
Am 23.11.2015 um 21:29 schrieb Matthias Doering:
> Wenn Ich die Abfragen mache bekomme Ich immer folgende Ergebnisse:
>
> sudo postmap -q test at codegeeks.de
> mysql:/etc/postfix/mysql_virtual_domains_maps.cf
> sudo postmap -q codegeeks.de
> mysql:/etc/postfix/mysql_virtual_domains_maps.cf
> codegeeks.de
>
> sudo postmap -q test at codegeeks.de
> mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
> test at codegeeks.de
> sudo postmap -q lukas at codegeeks.de
> mysql:/etc/postfix/mysql_virtual_alias_maps.cf
> lukas at codegeeks.de
Ich bin die Beiträge bis jetzt nur überflogen, deshalb bitte um
Verzeihung falls ich wichtige Informationen übersehen habe.
1) Soweit ich gesehen habe soll Postfix ausschließlich (oder
hauptsächlich?) an Deinen lokalen Dovecot zustellen. Es reicht dafür
folgender Eintrag in der main.cf:
relay_transport = lmtp:172.20.19.14:24
2) Für die Abfrage der Domains ist folgender Eintrag. Wenn bei allen
Domains in der Spalte "transport" der selbe Wert steht reicht natürlich
auch nur eine der beiden Abfragen.
relay_domains = proxy:mysql:${sql_dir}/mysql_virtual_domains_maps.cf,
proxy:mysql:${sql_dir}/mysql_relay_domains_maps.cf
3) Dovecot kennt keine Aliase, nur finale Empfänger. Wenn Du eine E-Mail
für einen Alias empfängst musst Du die Adresse also in Postfix
umschreiben, bevor Du die E-Mail an Dovecot übergeben kannst.
virtual_alias_maps = proxy:mysql:${sql_dir}/mysql_virtual_alias_maps.cf,
proxy:mysql:${sql_dir}/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:${sql_dir}/mysql_virtual_alias_domain_catchall_maps.cf
=> mysql_virtual_domains_maps.cf
query = SELECT domain FROM domain WHERE \
domain = '%s' AND transport = 'virtual' AND active = '1'
=> mysql_relay_domains_maps.cf
query = SELECT domain FROM domain WHERE \
domain = '%s' AND transport = 'relay' AND active = '1'
=> mysql_virtual_alias_maps.cf
query = SELECT goto FROM alias WHERE address='%s' \
AND active = '1'
=> mysql_virtual_alias_domain_maps.cf
query = SELECT goto FROM alias,alias_domain \
WHERE alias_domain.alias_domain = '%d' and \
alias.address = CONCAT('%u', '@', alias_domain.target_domain) \
AND alias.active = 1 AND alias_domain.active='1'
=> mysql_virtual_alias_domain_catchall_maps.cf
SELECT goto FROM alias,alias_domain WHERE \
alias_domain.alias_domain = '%d' and \
alias.address = CONCAT('@', alias_domain.target_domain) \
AND alias.active = 1 AND alias_domain.active='1'
Soweit ein "einfaches" Setup. Optional kann man Postfix jetzt noch
beibringen bestimmte Domains an externe Server zu liefern.
--
Alex JOST
Mehr Informationen über die Mailingliste Postfixbuch-users