Anonim

Pokoušíte se zakázat místní doručování e-mailů pomocí iRedMail a postfixu na svém domácím e-mailovém serveru a tlučete hlavou o zeď. Pro doručování e-mailů používáte domácí server, ale doručená pošta žije na druhém serveru. V tomto článku se podělím o to, co jsem se naučil o jak deaktivovat místní doručování e-mailů pomocí Postfixu a vynutit, aby všechny e-maily pro určité domény byly přeposílány prostřednictvím jejich správné MX adresy.

Tyto informace jsem hledal a hledal a hledal na internetu a abych byl upřímný, ani si nejsem jistý, jestli to bude pro vaše nastavení fungovat.Ale na základě množství času, který jsem strávil zkoumáním tohoto problému, dokonce i jako expert na servery mimo Linux, jsem si myslel, že předám své poznatky dál a budu se modlit, aby to pomohlo zmírnit vaši frustraci.

Chyba

Pokud se vám zobrazuje chyba „Neznámý uživatel v tabulce virtuálních poštovních schránek“, jste na správném místě. V podstatě chcete, aby se postfix přestal pokoušet doručovat e-maily na e-mailové účty na vašem serveru, které neexistují. Je toho opravdu příliš mnoho?

Oprava Postfixu pro zakázání místního doručování e-mailů pro doménu

V podstatě všechna hlavní konfigurační nastavení postfixu jsou v main.cf, takže soubor můžete otevřít zadáním vim /etc/postfix/main.cf .

Vyhledejte řádek virtual_mailbox_domains – okomentujte jej tím, že před něj vložíte . To zcela zakáže místní doručování e-mailů. Tady je můj:

virtual_mailbox_domains=proxy:ldap:/etc/postfix/ldap/virtual_mailbox_domains.cf

Poté najděte řádek relay_domains a před vše, co tam je, přidejte názvy domén e-mailových adres, jejichž schránky do žijí na vašem domácí e-mailový server. Můj vypadá takto:

relay_domains=payette.email, $mydestination, proxy:ldap:/etc/postfix/ldap/relay_domains.cf

Nakonec najděte řádek transport_maps a před něj přidejte hash:/etc/postfix/transport. Skutečný soubor vytvoříme v dalším kroku. Můj vypadá takto:

transport_maps=hash:/etc/postfix/transport, proxy:ldap:/etc/postfix/ldap/transport_maps_user.cf, proxy:ldap:/etc/postfix/ldap/transport_maps_domain.cf

Nyní už zbývá jen vytvořit transportní soubor, který říká „Převzít všechny příchozí e-maily do této domény a poslat je místo toho přes tento MX server!“

Vytvořte tedy soubor zadáním vim /etc/postfix/transport . Přidejte řádek pro každou doménu, pro kterou chcete zakázat místní doručování, jako v příkladu níže, přičemž server MX umístěte do hranatých závorek. Tady je můj:

payetteforward.com smtp:

Potom proveďte cokoli, co se souborem provede postmap, zadáním postmap /etc/postfix/transport . To je důležité – vysvětlil bych proč, ale jsem si jistý, že vám to přerostlo přes hlavu. (Absolutně netuším, co to dělá.)

Trik: Pokud si nejste jisti, jaký je správný MX server pro danou doménu, můžete použít tento groovy příkaz, abyste zjistili, co to je - myslím, že to opravdu vyhrabete, člověče .

dig -tmx payetteforward.com

Dále restartujte postfix zadáním service postfix restart , pomodlite se a zkuste to znovu. Jestli to půjde, kup mi Corvettu. Pokud ne, dejte mi vědět v sekci komentářů a můžeme společně pracovat na tom, abychom z toho udělali trochu srozumitelného průvodce řešením tohoto problému.

Oprava příspěvku Postfix

Prozatím buďte vděční, že je problém vyřešen: Zakázali jste místní doručování na místním e-mailovém serveru se systémem postfix nebo iRedMail a místo toho používáte správné adresy MX.

Zakázat místní doručování e-mailů pomocí Postfixu a iRedMail