Anonim

Je probeert lokale e-mailbezorging uit te schakelen met iRedMail en postfix op je zelfgemaakte e-mailserver, en je loopt met je hoofd tegen de muur. U gebruikt een zelfgemaakte server voor e-mailbezorging, maar de inbox leeft op een tweede server. In dit artikel deel ik wat ik heb geleerd over hoe lokale e-mailbezorging met Postfix uit te schakelen en alle e-mail voor bepaalde domeinen te forceren om door te sturen via hun juiste MX-adressen.

Ik heb gezocht en gezocht en gezocht op internet naar deze informatie, en om eerlijk te zijn, ik weet niet eens zeker of het gaat werken voor jouw opstelling.Maar op basis van de hoeveelheid tijd die ik heb besteed aan het onderzoeken van dit probleem, zelfs als niet-Linux-serverexpert, dacht ik dat ik mijn bevindingen zou doorgeven en bidden dat het helpt om je frustratie te verlichten.

De fout

Als je de foutmelding 'onbekende gebruiker in virtuele mailbox-tabel' ziet, ben je op de juiste plek. Kortom, u wilt dat postfix stopt met het proberen om e-mail te bezorgen aan e-mailaccounts op uw server die niet bestaan. Is dat echt te veel gevraagd?

Postfix repareren om lokale e-mailbezorging voor een domein uit te schakelen

In principe staan ​​alle hoofdconfiguratie-instellingen van postfix in main.cf, dus je kunt het bestand openen door vim /etc/postfix/main.cf te typen.

Zoek naar de regel virtual_mailbox_domains - plaats commentaar door er eenvoor te plaatsen. Dat gaat de lokale e-mailbezorging helemaal uitschakelen. Hier is die van mij:

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

Zoek vervolgens de regel relay_domains en plaats wat daar staat voor de domeinnamen van de e-mailadressen waarvan de inbox do live op uw zelfgemaakte e-mailserver. De mijne ziet er zo uit:

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

Zoek ten slotte de regel transport_maps en voeg hash:/etc/postfix/transport toe aan wat er ook is. We maken het eigenlijke bestand in de volgende stap. De mijne ziet er zo uit:

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

Nu hoef je alleen nog het transportbestand te maken met de tekst "Breng alle inkomende e-mail naar dit domein en stuur het in plaats daarvan via deze MX-server!"

Dus maak het bestand aan door vim /etc/postfix/transport te typen. Voeg een regel toe voor elk domein waarvoor u lokale bezorging wilt uitschakelen, zoals in het onderstaande voorbeeld, waarbij u de MX-server tussen haakjes plaatst. Hier is die van mij:

payetteforward.com smtp:

Doe vervolgens wat postmap doet op het bestand door postmap /etc/postfix/transport te typen. Dat is belangrijk - ik zou uitleggen waarom, maar ik weet zeker dat het je te boven gaat. (Ik heb absoluut geen idee wat het doet.)

Trick: als je niet zeker weet wat de juiste MX-server is voor een bepaald domein, kun je deze groovy opdracht gebruiken om erachter te komen wat het is - ik denk dat je het echt zult begrijpen, man .

dig -tmx payetteforward.com

Start vervolgens postfix opnieuw door service postfix restart te typen, zeg een gebed en probeer het opnieuw. Als het werkt, koop dan een Corvette voor me. Als dit niet het geval is, laat het me dan weten in het opmerkingengedeelte en we kunnen samenwerken om dit een enigszins begrijpelijke gids te maken om dit probleem op te lossen.

Postfix Postfix

Voor nu, wees dankbaar dat het probleem is opgelost: je hebt lokale bezorging uitgeschakeld op je lokale e-mailserver met postfix of iRedMail en je gebruikt in plaats daarvan de juiste MX-adressen.

Lokale e-mailbezorging uitschakelen met Postfix en iRedMail