Du prøver å deaktivere lokal e-postlevering med iRedMail og postfix på din hjemmelagde e-postserver, og du slår hodet i veggen. Du bruker en hjemmelaget server for e-postlevering, men innboksen lever på en andre server. I denne artikkelen vil jeg dele det jeg har lært om hvordan deaktivere lokal e-postlevering med Postfix og tvinge all e-post for visse domener til å videresendes gjennom deres riktige MX-adresser.
Jeg søkte og søkte og søkte på internett etter denne informasjonen, og for å være ærlig er jeg ikke engang sikker på om det kommer til å fungere for oppsettet ditt.Men basert på hvor lang tid jeg brukte på å undersøke dette problemet, selv som en ikke-Linux-serverekspert, tenkte jeg at jeg ville videreformidle funnene mine og be om at det hjelper til å lindre frustrasjonen din.
Feilen
Hvis du ser feilen "ukjent bruker i virtuell postbokstabell", er du på rett sted. I utgangspunktet vil du at postfix skal slutte å prøve å levere e-post til e-postkontoer på serveren din som ikke eksisterer. Er det virkelig for mye å forlange?
Fiksing Postfix for å deaktivere lokal e-postlevering for et domene
I utgangspunktet er alle postfixs hovedkonfigurasjonsinnstillinger i main.cf, så du kan åpne filen ved å skrive vim /etc/postfix/main.cf .
Se etter virtual_mailbox_domains-linjen - kommenter den ved å sette enforan den. Det kommer til å deaktivere lokal e-postlevering helt. Her er min:
virtual_mailbox_domains=proxy:ldap:/etc/postfix/ldap/virtual_mailbox_domains.cf
Neste, finn relay_domains-linjen, og sett foran det som er der med domenenavnene til e-postadressene hvis innboks do ligger på din hjemmelaget e-postserver. Min ser slik ut:
relay_domains=payette.email, $mydestination, proxy:ldap:/etc/postfix/ldap/relay_domains.cf
Til slutt finner du transport_maps-linjen, og setter hash:/etc/postfix/transport foran det som er der. Vi lager selve filen i neste trinn. Min ser slik ut:
transport_maps=hash:/etc/postfix/transport, proxy:ldap:/etc/postfix/ldap/transport_maps_user.cf, proxy:ldap:/etc/postfix/ldap/transport_maps_domain.cf
Nå er det bare å lage transportfilen som sier "Ta all innkommende e-post til dette domenet og send den gjennom denne MX-serveren i stedet!"
Så, lag filen ved å skrive vim /etc/postfix/transport . Legg til en linje for hvert domene du vil deaktivere lokal levering for som eksempelet nedenfor, og sett MX-serveren innenfor parentes. Her er min:
payetteforward.com smtp:
Gjør så det postmap gjør på filen ved å skrive postmap /etc/postfix/transport . Det er viktig - jeg vil forklare hvorfor, men jeg er sikker på at det er langt over hodet på deg. (Jeg har absolutt ingen anelse om hva den gjør.)
… .
dig -tmx payetteforward.com
Deretter starter du postfix på nytt ved å skrive service postfix restart , si en bønn og prøv igjen. Hvis det fungerer, kjøp meg en Corvette. Hvis det ikke gjør det, gi meg beskjed i kommentarfeltet, så kan vi jobbe sammen for å gjøre dette til en litt forståelig veiledning for å fikse dette problemet.
Postfix Post Fix
For nå, vær takknemlig for at problemet er løst: Du har deaktivert lokal levering på din lokale e-postserver som kjører postfix eller iRedMail, og du bruker de riktige MX-adressene i stedet.