Proxy mail a diversi server SMTP con Postfix


11

Come posso inoltrare (o proxy) la posta a diversi server SMTP a seconda dell'indirizzo A?

Ho una macchina con un server SMTP (postfix) in ascolto sulla porta 25. Voglio usare Lamson ( http://lamsonproject.org/ ) per gestire un po 'di posta in arrivo e un po' di posta che voglio avere postfix da gestire.

La mia idea è di configurare Lamson per l'ascolto su una porta diversa, diciamo localhost: 10025. Ho quindi installato postfix per catturare tutta la posta ascoltando sulla porta 25.

Come configuro Postfix per inoltrare determinate mail a Lamson su 10025 e gestire tutta l'altra posta stessa?

Risposte:


18

Postfix è estremamente flessibile (e quindi complesso) nella sua configurazione, quindi ci sono vari modi per raggiungere questo obiettivo. Il modo più semplice sarebbe probabilmente usare una transport(5)tabella.

Innanzitutto, abilita l'uso di una tabella di trasporto in postfix:

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

Dovrai anche assicurarti che Postfix accetti la posta per gli indirizzi che saranno gestiti da Lamson. Dai un'occhiata alle permit_auth_destinationregole che Postfix applicherà per determinare gli indirizzi dei destinatari validi. Per il seguente esempio, supponendo che "esempio.com" sia un dominio non altrimenti noto a Postfix, è probabilmente più semplice aggiungerlo semplicemente come dominio di inoltro:

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

Quindi, crea una tabella appropriata. Ad esempio per reindirizzare tutta la posta per il dominio "esempio.com" e la posta per "utente@miodominio.org" al Lamson locale che ascolta alla porta 10025:

/etc/postfix/transport:
    example.com          smtp:127.0.0.1:10025
    user@mydomain.org    smtp:127.0.0.1:10025

Dopodiché (e poi una volta dopo ogni aggiornamento del file della tabella di trasporto) non dimenticare di eseguire:

$ postmap /etc/postfix/transport

Questo dovrebbe farti andare. Assicurati di leggere la transport(5)pagina man, che ti darà ulteriori idee su come utilizzare questa potente funzione.


Ciao, grazie per il suggerimento. Ho ancora problemi con l'inoltro della posta dopo aver seguito le tue istruzioni. Ricevo NOQUEUE: rifiuta: RCPT da {my-mail-relay} Indirizzo del destinatario rifiutato: Utente sconosciuto nella tabella dei destinatari locale. Qualche idea?
Mattias,

Ah sì, dovrai anche assicurarti che Postfix accetti che la posta venga inoltrata verso example.com (poiché Postfix ora agisce come inoltro per Lamson). Se Postfix serve principalmente un altro dominio, il modo più semplice per raggiungere questo obiettivo è aggiungere il "dominio Lamson" a relay_domains. Ho aggiornato per rispondere per incorporare questo.
conte

1
Grazie, dopo aver seguito i tuoi passi, avevo ancora problemi a far sì che Postfix riconoscesse localhost come host valido. Ho eseguito il comando postconf -e 'smtp_host_lookup = dns, nativo' e che ha risolto il mio problema, postfix ora sta inoltrando la posta che voglio a Lamson.
Mattias,

1
È bello sapere che funziona. Invece di cambiare smtp_host_lookup, puoi anche usare 127.0.0.1invece di localhost. Ho aggiornato la risposta per soddisfare tale miglioramento.
conte
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.