Tak já to zkusím ještě jednou a jinak - podle toho, co jste mi dovysvětlil. Že de facto jediný MX pro example.com je stroj v polské správě, ať už se jmenuje jakkoli - já mu budu říkat třeba pl.example.com. Pro něj to je "vlastní" doména, ve které si resolvuje uživatelské aliasy.
Podle mého je špatně, že na stroji cz.example.com považujete doménu example.com za lokální. V konfiguraci Postfixu podle mého nejde tolik o
mydomain
, jako spíš o její uvedení v
mydestination
a snad
virtual_alias_domains
. Navrhuji, abyste ji v mydestination ani virtual_alias_domains neuváděl. V mydomain by to vadit nemuselo. Mluvím example.com - subdomény jako cz.example.com nevadí. A bavíme se stále o doručování emailu, že.
Neznám getmail. Je na něm oproti třeba fetchmailu něco vážně super, kromě toho že je getmail napsaný v pythonu? Pravda je, že neznám vlastníma rukama ani fetchmail :-) ale přijde mi takový tradičnější. Svého času jsem o něm dost četl - to bylo cca v minulém století...
Každopádně když taháte maily fetchmailem/getmailem z uživatelských schránek přes POP3 nebo IMAP, a chcete je předávat lokálnímu SMTP serveru (Postfix) k doručení, tak jste tím průchodem skrz POP/IMAP schránku přišel o původní SMTP obálku každé jednotlivé zprávy. Vy víte, kterou schránku taháte, znáte její login a heslo, ale netušíte, na jakou adresu příjemce ta zpráva původně z divokého internetu přiběhla. Tzn. pro předání lokálnímu SMTP démonovi si fetchmail/getmail musí nějakou adresu příjemce "syntetizovat". Jestli správně čtu dokumentaci, fetchmail standardně použije lokálního uživatele, pod jehož účtem byl spuštěn - tzn. nikoli třeba login do vzdálené schránky, ani se nesnaží extrahovat adresu příjemce z hlavičky v obsahu zprávy (což by nakonec možná taky uměl, ale je to v několika ohledech problematické). Každopádně: tuhle lokální adresu lze nastavit. Konkrétně fetchmail se zřejmě musí spustit (samostatný proces) pro každého uživatele zvlášť. Přeskočím teď téma, odkud a jak fetchmail spouštět. Důležité je, že můžete fetchmailu na příkazovém řádku předat mj. adresu příjemce, se kterou má staženou zprávu předat lokálnímu SMTP démonovi (pokud nechcete provést rovnou lokální doručení, což by snad taky šlo). V
manuálu fetchmailu k tomu vidím argumenty
-D <domain>
nebo specifičtější
--smtpname <user@domain>
. To pokud by lokální username nevyhovoval. Všimněte si v manuálu zmínky o RCPT TO: - to je konkrétní příkaz v SMTP protokolu, který uvádí adresu příjemce v "obálce" (tzn. to co skrz POP/IMAP neobdržíte).
Jestli příchozí emaily doručovat skrz SMTP nebo rovnou lokáním doručovatelem, a to buď přímo, nebo třeba skrz procmail, to záleží myslím zcela na Vás, na požadovaných vychytávkách a jejich uspořádání=konfiguraci (ještě to lokálně filtrovat proti virům a spamu apod., což lze myslím v Postfixu i třeba v procmailu).
Pokud se týče odesílání,
nemusíte hned konfigurovat tvrdého všeobecného smarthosta stylem:
relayhost = pl.example.com
Jednak existuje diferencovanější možnost, opět nikoli pracná, použít explicitní transport pro konkrétní doménu:
/etc/postfix/main.cf :
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport :
# Specifické pravidlo, ukazuje na server do polska:
example.com smtp:pl.mydomain.com
# Alternativní zápis při doručování na IP adresu, ať už veřejnou nebo privátní:
#example.com smtp:[192.168.30.40]
# A nakonec ještě "default" = všechno ostatní ať si Postfix doručí podle standardních pravidel = přímo (nepřehlédněte dvojtečku vpravo)
* :
Jo a mimochodem stejně jako mapa virtuálních aliasů (/etc/postfix/virtual) i mapa transportů se musí po úpravě zkonvertovat do binárního "hash" formátu, zde příkazem:
postmap transport
Osobně mám na tyhle konverze napsaný makefile...
Ale nakonec a především se domnívám, že specifické odesílání už ani řešit nemusíte! Protože Postfix na cz.example.com tímto už doménu example.com nepovažuje za "svoji" (mydestination), prostě zprávy komukoli @ example.com doručí standardním způsobem, tj. podle MX záznamu v DNS!