Poczta proxy do innego serwera smtp z Postfix

11

Jak mogę przekazywać pocztę (lub proxy) na różne serwery smtp w zależności od adresu Do?

Mam jedną maszynę z serwerem SMTP (postfix) nasłuchującą na porcie 25. Chcę używać Lamson ( http://lamsonproject.org/ ) do obsługi poczty przychodzącej i pewnej poczty, którą chcę obsługiwać z postfiksem.

Moim pomysłem jest skonfigurowanie Lamsona do nasłuchiwania na innym porcie, powiedzmy localhost: 10025. Następnie ustawiam postfiks, aby przechwytywał całą pocztę, nasłuchując na porcie 25.

Jak skonfigurować Postfix do proxy pewnej poczty do Lamson na 10025 i obsługiwać całą pozostałą pocztę?

Mattias
źródło

Odpowiedzi:

18

Postfix jest niezwykle elastyczny (a zatem złożony) w swojej konfiguracji, więc istnieją różne sposoby osiągnięcia tego celu. Najprostszym sposobem byłoby prawdopodobnie użycie transport(5)tabeli.

Najpierw włącz użycie tabeli transportu w postfiksie:

/etc/postfix/main.cf:
    transport_maps = hash:/etc/postfix/transport

Musisz także upewnić się, że Postfix akceptuje maile na adresy, które będą obsługiwane przez Lamson. Sprawdź permit_auth_destinationzasady, które Postfix zastosuje do ustalenia prawidłowych adresów odbiorców. W poniższym przykładzie, zakładając, że „example.com” jest domeną nieznaną Postfixowi, prawdopodobnie najłatwiej jest po prostu dodać ją jako domenę przekaźnikową:

/etc/postfix/main.cf:
    relay_domains = example.com

Następnie utwórz odpowiedni stół. Na przykład, aby przekierować całą pocztę dla domeny „przyklad.com”, a także pocztę dla „użytkownik@moja_domena.org” do lokalnego Lamson nasłuchującego na porcie 10025:

/etc/postfix/transport:
    example.com          smtp:127.0.0.1:10025
    [email protected]    smtp:127.0.0.1:10025

Po tym (a potem raz po każdej aktualizacji pliku tabeli transportu) nie zapomnij uruchomić:

$ postmap /etc/postfix/transport

To powinno cię zabrać. Koniecznie przeczytaj transport(5)stronę podręcznika , która da ci więcej pomysłów na temat korzystania z tego potężnego narzędzia.

hrabia
źródło
Cześć, dzięki za wskazówkę. Nadal mam problemy z przekazywaniem poczty po wykonaniu instrukcji. Otrzymuję NOQUEUE: odrzucenie: RCPT z {moja-mail-przekaźnik} Adres odbiorcy odrzucony: Użytkownik nieznany w lokalnej tabeli adresatów. Jakieś pomysły?
Mattias
Ach tak, musisz również upewnić się, że Postfix akceptuje przekazywanie poczty do example.com (ponieważ Postfix działa teraz jako przekaźnik dla Lamsona). Jeśli Twój Postfix obsługuje głównie inną domenę, najłatwiejszym sposobem na osiągnięcie tego jest dodanie „domeny Lamson” relay_domains. Zaktualizowałem, aby odpowiedzieć, aby to uwzględnić.
hrabia
1
Dzięki, po wykonaniu tych kroków nadal miałem problemy z uzyskaniem przez Postfiksa rozpoznania localhost jako prawidłowego hosta. Uruchomiłem polecenie postconf -e 'smtp_host_lookup = dns, native' i to rozwiązało mój problem, postfix teraz przesyła pocztę, którą chcę do Lamsona.
Mattias
1
Dobrze słyszeć, że to działa. Zamiast zmieniać smtp_host_lookup, możesz również użyć 127.0.0.1zamiast localhost. Zaktualizowałem odpowiedź, aby uwzględnić tę poprawę.
hrabia