Introduzione
Postfix è un popolare open-source Mail Transfer Agent (MTA) che può essere utilizzato per instradare e consegnare e-mail su un sistema Linux. Si stima che circa il 25% dei server di posta pubblica su Internet eseguano Postfix.
In questa guida, ti insegneremo come ottenere rapidamente installato e funzionante con Postfix su un server Ubuntu 16.04.
Prerequisiti
Per seguire questa guida, è necessario avere accesso a un utente non root con privilegi sudo
. È possibile seguire il nostro Ubuntu 16.,04 guida all’installazione iniziale del server per creare l’utente necessario.
Per configurare correttamente Postfix, è necessario un nome di dominio completo puntato sul server Ubuntu 16.04. Puoi trovare aiuto per impostare il tuo nome di dominio con DigitalOcean seguendo questa guida. Se hai intenzione di accettare la posta, dovrai assicurarti di avere un record MX che punta anche al tuo server di posta.
Ai fini di questo tutorial, assumeremo che si sta configurando un host che ha l’FQDN di mail.example.com
.,
Passo 1: Installa Postfix
Postfix è incluso nei repository predefiniti di Ubuntu, quindi l’installazione è incredibilmente semplice.
Per iniziare, aggiornare la cache del pacchetto localeapt
e quindi installare il software. Passeremo la variabile ambientaleDEBIAN_PRIORITY=low
nel nostro comando di installazione per rispondere ad alcuni prompt aggiuntivi:
- sudo apt-get update
- sudo DEBIAN_PRIORITY=low apt-get install postfix
Utilizzare le seguenti informazioni per compilare correttamente i prompt per il proprio ambiente:
- Tipo generale di configurazione della posta?,: Per questo, sceglieremo il sito Internet poiché questo corrisponde alle nostre esigenze di infrastruttura.
- Nome della posta di sistema: Questo è il dominio di base utilizzato per costruire un indirizzo email valido quando viene fornita solo la parte dell’account dell’indirizzo. Per esempio, il nome del nostro server è
mail.example.com
, ma probabilmente dovremo impostare il sistema di posta elettronicaexample.com
in modo che, dato il nome utenteuser1
Postfix utilizzerà l’indirizzo.,
- Destinatario di posta root e postmaster: Questo è l’account Linux a cui verrà inoltrata la posta indirizzata a
root@
epostmaster@
. Usa il tuo account principale per questo. Nel nostro caso, sammy. - Altre destinazioni per cui accettare la posta: definisce le destinazioni di posta che l’istanza Postfix accetterà. Se è necessario aggiungere altri domini che questo server sarà responsabile della ricezione, aggiungere quelli qui, altrimenti, il valore predefinito dovrebbe funzionare correttamente.
- Forza gli aggiornamenti sincroni sulla coda di posta?,: Poiché probabilmente stai usando un filesystem journaled, accetta No qui.
- Reti locali: Questo è un elenco delle reti per le quali il server di posta è configurato per inoltrare i messaggi. Il valore predefinito dovrebbe funzionare per la maggior parte degli scenari. Se si sceglie di modificarlo, assicurarsi di essere molto restrittivo per quanto riguarda l’intervallo di rete.
- Limite di dimensione della cassetta postale: può essere usato per limitare la dimensione dei messaggi. Impostandolo su ” 0 ” disabilita qualsiasi restrizione di dimensione.,
- Carattere estensione indirizzo locale: Questo è il carattere che può essere utilizzato per separare la parte regolare dell’indirizzo da un’estensione (utilizzata per creare alias dinamici).
- Protocolli Internet da utilizzare: scegliere se limitare la versione IP supportata da Postfix. Sceglieremo “tutti” per i nostri scopi.
Per essere espliciti, queste sono le impostazioni che useremo per questa guida:
Se hai bisogno di tornare a ri-regolare queste impostazioni, puoi farlo digitando:
- sudo dpkg-reconfigure postfix
I prompt saranno pre-popolati con le tue risposte precedenti.,
Quando hai finito, ora possiamo fare un po ‘ più di configurazione per impostare il nostro sistema come vorremmo.
Passo 2: Modificare la configurazione Postfix
Successivamente, possiamo regolare alcune impostazioni che il pacchetto non ci ha richiesto.
Per iniziare, possiamo impostare la casella di posta. Useremo il formato Maildir, che separa i messaggi in singoli file che vengono poi spostati tra le directory in base all’azione dell’utente. L’altra opzione è il formato mbox (che non tratteremo qui) che memorizza tutti i messaggi all’interno di un singolo file.,
Imposteremo la variabilehome_mailbox
suMaildir/
che creerà una struttura di directory con quel nome all’interno della home directory dell’utente. Il comandopostconf
può essere utilizzato per interrogare o impostare le impostazioni di configurazione. Configurare home_mailbox
digitando:
- sudo postconf -e 'home_mailbox= Maildir/'
Successivamente, possiamo impostare la posizione della tabellavirtual_alias_maps
. Questa tabella associa account e-mail arbitrari agli account di sistema Linux. Creeremo questa tabella in /etc/postfix/virtual
., Di nuovo, possiamo usare il comandopostconf
:
- sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
Passo 3: Mappare gli indirizzi di posta agli account Linux
Successivamente, possiamo impostare il file delle mappe virtuali. Apri il file nel tuo editor di testo:
- sudo nano /etc/postfix/virtual
La tabella della mappa alias virtuale utilizza un formato molto semplice. Sulla sinistra, è possibile elencare tutti gli indirizzi che si desidera accettare e-mail per. Successivamente, separati da spazi bianchi, inserisci l’utente Linux a cui desideri che la posta venga consegnata.,
Per esempio, se si desidera accettare e-mail a e
e vorrei avere quelle e-mail consegnate al
sammy
Linux user, è possibile impostare il file come questo:
[email protected] [email protected] sammy
Dopo aver mappato tutti gli indirizzi al server appropriato conti, salvare e chiudere il file.,
Si può applicare la mappatura digitando il comando:
- sudo postmap /etc/postfix/virtual
Riavviare il Postfix processo per essere sicuri che tutte le nostre modifiche sono state applicate:
- sudo systemctl restart postfix
Fase 4: Regolare il Firewall
Se si utilizza il firewall UFW, come configurato nel server iniziale di installazione di guida, dovremo consentire un’eccezione per Postfix.
È possibile consentire le connessioni al servizio digitando:
- sudo ufw allow Postfix
Il componente server Postfix è installato e pronto. Successivamente, configureremo un client in grado di gestire la posta che Postfix elaborerà.,
Passo 5: Impostazione dell’ambiente in modo che corrisponda alla posizione della posta
Prima di installare un client, dovremmo assicurarci che la nostra variabile ambientaleMAIL
sia impostata correttamente. Il client controllerà questa variabile per capire dove cercare la posta dell’utente.
Affinché la variabile possa essere impostata indipendentemente da come si accede al proprio account (tramite ssh
, su
, su -
, sudo
, ecc.) abbiamo bisogno di impostare la variabile in alcune posizioni diverse., Lo aggiungeremo a /etc/bash.bashrc
e un file all’interno di/etc/profile.d
per assicurarsi che ogni utente abbia configurato questo.
Per aggiungere la variabile di questi file, tipo:
- echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
Per leggere la variabile in sessione corrente, è possibile fonte /etc/profile.d/mail.sh
file:
- source /etc/profile.d/mail.sh
Fase 6: Installare e Configurare il Client di Posta elettronica
al fine di interagire con le mail vengono consegnati, possiamo installare l’ s-nail
pacchetto., Questa è una variante del client BSD xmail
, che è ricco di funzionalità, in grado di gestire correttamente il formato Maildir ed è per lo più retrocompatibile. La versione GNU dimail
ha alcune limitazioni frustranti, come salvare sempre la posta in lettura nel formato mbox indipendentemente dal formato sorgente.
Per installare il pacchetto s-nail
, digitare:
- sudo apt-get install s-nail
Dovremmo regolare alcune impostazioni., Apri il file/etc/s-nail.rc
nel tuo editor:
- sudo nano /etc/s-nail.rc
Verso la parte inferiore del file, aggiungi le seguenti opzioni:
. . .set emptystartset folder=Maildirset record=+sent
Questo permetterà al client di aprire anche con una casella di posta vuota. Imposterà anche la directoryMaildir
sulla variabile internafolder
e quindi la userà per creare un file mboxsent
all’interno di tale file, per memorizzare la posta inviata.
Salva e chiudi il file quando hai finito.,
Passo 7: Inizializzare il Maildir e testare il client
Ora, siamo in grado di testare il client fuori.
Inizializzare la struttura di directory
Il modo più semplice per creare la struttura Maildir all’interno della nostra home directory è inviarci una e-mail. Possiamo farlo con il comandomail
. Poiché il filesent
sarà disponibile solo una volta creato Maildir, dovremmo disabilitare la scrittura per la nostra e-mail iniziale. Possiamo farlo passando l’opzione-Snorecord
.,
Invia l’e-mail inserendo una stringa nel comandomail
. Regola il comando per contrassegnare il tuo utente Linux come destinatario:
- echo 'init' | mail -s 'init' -Snorecord sammy
Dovresti ottenere la seguente risposta:
OutputCan't canonicalize "/home/sammy/Maildir"
Questo è normale e verrà visualizzato solo durante questo primo messaggio., Possiamo verificare che la directory sia stata creata cercando la nostra directory~/Maildir
:
- ls -R ~/Maildir
Dovresti vedere che la struttura della directory è stata creata e che un nuovo file di messaggio è nella directory ~/Maildir/new
:
Sembra che la nostra posta sia stata consegnata.,:
- h
Outputs-nail version v14.8.6. Type ? for help."/home/sammy/Maildir": 1 message 1 new>R 1 [email protected] Wed Dec 31 19:00 14/369 init
Dal momento che questo messaggio non è molto utile, si può cancellare con d:
- d
Esci per tornare al terminale digitando q:
- q
l’Invio di Posta con il Client
È possibile testare l’invio di mail digitando un messaggio in un editor di testo:
- nano ~/test_message
all’Interno, immettere il testo che desideri email:
Hello,This is a test. Please confirm receipt!
con il cat
comando, è possibile inviare il messaggio al mail
processo., Questo invierà il messaggio come utente Linux per impostazione predefinita. È possibile regolare il campo “Da” con il -r
flag se si desidera modificare il valore di qualcosa d’altro:
- cat ~/test_message | mail -s 'Test email subject line' -r from_field_account [email protected]
Le opzioni di cui sopra sono:
-
-s
: L’oggetto della e-mail -
-r
: opzionale e modificare il campo “Da:” il campo dell’e-mail. Per impostazione predefinita, l’utente Linux a cui hai effettuato l’accesso verrà utilizzato per popolare questo campo. L’opzione-r
consente di sovrascrivere questa opzione., -
: L’account a cui inviare l’e-mail. Cambia questo per essere un account valido a cui hai accesso.
È possibile visualizzare i messaggi inviati all’interno del client mail
. Avviare nuovamente il client interattivo digitando:
- mail
Successivamente, visualizzare i messaggi inviati digitando:
- file +sent
È possibile gestire la posta inviata utilizzando gli stessi comandi utilizzati per la posta in arrivo.
Conclusione
Ora dovresti avere Postfix configurato sul tuo server Ubuntu 16.04., La gestione dei server di posta elettronica può essere un compito difficile per gli amministratori principianti, ma con questa configurazione, si dovrebbe avere funzionalità di base di posta elettronica MTA per iniziare.
Lascia un commento