Anonim

Próbujesz wyłączyć lokalne dostarczanie wiadomości e-mail za pomocą iRedMail i Postfix na swoim domowym serwerze pocztowym i walisz głową w ścianę. Korzystasz z domowego serwera do dostarczania poczty, ale skrzynka odbiorcza znajduje się na drugim serwerze. W tym artykule podzielę się tym, czego się dowiedziałem o jak wyłączyć lokalne dostarczanie poczty e-mail za pomocą Postfix i wymusić przekazywanie wszystkich wiadomości e-mail z określonych domen przez ich prawidłowe adresy MX.

Szukałem i przeszukiwałem i przeszukiwałem internet w poszukiwaniu tych informacji i szczerze mówiąc, nie jestem nawet pewien, czy to zadziała w przypadku Twojej konfiguracji.Ale biorąc pod uwagę ilość czasu, jaką spędziłem na badaniu tego problemu, nawet jako ekspert od serwerów innych niż Linux, pomyślałem, że podzielę się swoimi odkryciami i modlę się, aby pomogło to złagodzić Twoją frustrację.

Błąd

Jeśli widzisz błąd „nieznany użytkownik w tabeli wirtualnej skrzynki pocztowej”, jesteś we właściwym miejscu. Zasadniczo chcesz, aby Postfix przestał próbować dostarczać wiadomości e-mail na konta e-mail na twoim serwerze, które nie istnieją. Czy to naprawdę zbyt wiele?

Naprawianie Postfixa w celu wyłączenia lokalnego dostarczania poczty e-mail w domenie

Zasadniczo wszystkie główne ustawienia konfiguracyjne Postfixa znajdują się w main.cf, więc możesz otworzyć plik wpisując vim /etc/postfix/main.cf .

Poszukaj wiersza virtual_mailbox_domains - skomentuj go, umieszczając przed nim . To całkowicie wyłączy lokalne dostarczanie poczty e-mail. To moje:

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

Następnie znajdź wiersz „relay_domains” i dołącz wszystko, co się tam znajduje, z nazwami domen adresów e-mail, których skrzynki odbiorcze do działają na Twoim domowy serwer pocztowy. Mój wygląda tak:

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

Na koniec znajdź linię transport_maps i dołącz hash:/etc/postfix/transport do tego, co tam jest. W następnym kroku utworzymy rzeczywisty plik. Mój wygląda tak:

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

Teraz pozostaje tylko utworzyć plik transportu z napisem „Przenieś wszystkie przychodzące e-maile do tej domeny i zamiast tego wyślij je przez ten serwer MX!”

Utwórz więc plik, wpisując vim /etc/postfix/transport . Dodaj linię dla każdej domeny, dla której chcesz wyłączyć dostarczanie lokalne, tak jak w poniższym przykładzie, umieszczając serwer MX w nawiasach. To moje:

payetteforward.com smtp:

Następnie zrób to, co postmap zrobi z plikiem, wpisując postmap /etc/postfix/transport . To ważne — wyjaśniłbym, dlaczego, ale jestem pewien, że to cię przerasta. (Absolutnie nie mam pojęcia, co to robi.)

Sztuczka: jeśli nie masz pewności, jaki serwer MX jest właściwy dla danej domeny, możesz użyć tego fajnego polecenia, aby się dowiedzieć, co to jest — myślę, że naprawdę ci się spodoba, stary .

dig -tmx payetteforward.com

Następnie zrestartuj postfix, wpisując service postfix restart , odmów modlitwę i spróbuj ponownie. Jeśli zadziała, kup mi Corvette. Jeśli tak się nie stanie, daj mi znać w sekcji komentarzy, a wspólnie opracujemy nieco zrozumiały przewodnik, który pomoże rozwiązać ten problem.

Postfix Post Fix

Na razie ciesz się, że problem został rozwiązany: dostarczanie lokalne zostało wyłączone na lokalnym serwerze poczty e-mail z systemem Postfix lub iRedMail, a zamiast tego używasz prawidłowych adresów MX.

Wyłącz lokalne dostarczanie wiadomości e-mail za pomocą Postfix i iRedMail