Ospita i sottodomini jolly usando postfix


9

Sto cercando di capire come posso ottenere postfix per accettare la posta elettronica per qualsiasi sottodominio del mio sito principale. Non ho domini virtuali, solo un lungo elenco di sottodomini per la consegna locale. In particolare, sto alimentando python@*.mydomain.comun Python usando il file alias:

python:    |/www/proc_email.py

Il Python può gestire la consegna da lì. Immagino che questo assomigli a qualcosa del genere:

mydestination = encendio, localhost.localdomain, localhost, *.mydomain.com

Sto eseguendo l'ultima versione di Postfix su Ubuntu (non sono sicuro di come controllare la versione).

Grazie in anticipo.

Risposte:


19

Non è possibile utilizzare caratteri jolly se si elencano esplicitamente le destinazioni nella configurazione di Postfix, ma fortunatamente l' $mydestinationopzione accetta le ricerche di tabella. Quindi prova a impostare $mydestinationuna mappa PC come questa:

mydestination = pcre:/etc/postfix/mydestinations

Quindi crea /etc/postfix/mydestinationscon regexps correttamente ancorati e sfuggiti:

/^encendio$/                  ACCEPT
/^localhost\.localdomain$/    ACCEPT
/^localhost$/                 ACCEPT
/^.*\.mydomain\.example$/     ACCEPT

Tecnicamente potresti mettere qualsiasi cosa al posto di "ACCETTA" poiché il risultato viene ignorato; è sufficiente solo la presenza della partita :

Specificare un elenco di nomi host o di dominio, modelli "/ file / name" o "type: table", separati da virgole e / o spazi bianchi. Un modello "/ file / name" è sostituito dal suo contenuto; una tabella di ricerca "tipo: tabella" viene trovata quando un nome corrisponde a una chiave di ricerca (il risultato della ricerca viene ignorato).


2
Le espressioni regolari dovrebbero essere prese in considerazione; vedi serverfault.com/a/352928/84843
Richard Hansen,

19

La soluzione pcre nella risposta accettata funziona bene, ma potresti voler considerare l'ancoraggio di regexp per evitare di ottenere hit solo su una parte del nome di dominio.

/^encendio$/                  ACCEPT
/^localhost\.localdomain$/    ACCEPT
/^localhost$/                 ACCEPT
/^.*\.mydomain\.com$/         ACCEPT

0

*.mydomain.com non funzionerà.

È necessario creare relay-domainse mettere tutti i sottodomini in là. 1 per riga.

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.