GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e configurare Postfix Mail Server su CentOS 8

Postfisso è un MTA gratuito e opensource (Mail Transfer Agent) utilizzato per instradare o consegnare e-mail su un sistema Linux. In questa guida imparerai come installare e configurare Postfix su CentOS 8.

Allestimento laboratorio:

  • OS :                  Server CentOS 8
  • Indirizzo IP:   192.168.1.13
  • Nome host:    server1.crazytechgeek.info (assicurati che il nome di dominio sia puntato all'IP del server)

Passaggio 1) Aggiorna il sistema

Il primo passo è assicurarsi che i pacchetti di sistema siano aggiornati. Per fare ciò, aggiorna il sistema come segue:

# dnf update

Prima di procedere ulteriormente, assicurati anche che nessun altro MTA come Invia email sono esistenti in quanto ciò causerà un conflitto con la configurazione di Postfix. Per rimuovere Sendmail, ad esempio, esegui il comando:

# dnf remove sendmail

Passaggio 2) Imposta il nome host e aggiorna il file /etc/hosts

Usa sotto il comando hostnamectl per impostare il nome host sul tuo sistema,

# hostnamectl set-hostname server1.crazytechgeek.info
# exec bash

Inoltre, devi aggiungere il nome host del sistema e le voci IP nel file /etc/hosts

# vim /etc/hosts
192.168.1.13   server1.crazytechgeek.info

Salva ed esci dal file.

Leggi anche Come configurare il server DNS (Bind) su CentOS 8 / RHEL8

Passaggio 3) Installa il server di posta Postfix

Dopo aver verificato che nessun altro MTA sia in esecuzione sul sistema, installa Postfix eseguendo il comando:

# dnf install postfix

Passaggio 4) Avvia e abilita il servizio Postfix

Dopo aver installato correttamente Postfix, avvia e abilita il servizio Postfix eseguendo:

# systemctl start postfix
# systemctl enable postfix

Per controllare lo stato di Postfix, esegui il seguente comando systemctl

# systemctl status postfix

Ottimo, abbiamo verificato che Postfix è attivo e funzionante. Successivamente, configureremo Postfix per inviare e-mail localmente al nostro server.

Passaggio 5) Installa il client di posta mailx

Prima di configurare il server Postfix, è necessario installare la funzione mailx. Per installare mailx, eseguire il comando:

# dnf install mailx

Passaggio 6) Configura il server di posta Postfix

Il file di configurazione di Postfix si trova in /etc/postfix/main.cf . Dobbiamo apportare alcune modifiche al file di configurazione, quindi aprilo usando il tuo editor di testo preferito.

# vi /etc/postfix/main.cf

Apporta modifiche alle seguenti righe:

myhostname = server1.crazytechgeek.info
mydomain = crazytechgeek.info
myorigin = $mydomain
## Uncomment and Set inet_interfaces to all ##
inet_interfaces = all
## Change to all ##
inet_protocols = all
## Comment ##
#mydestination = $myhostname, localhost.$mydomain, localhost
##- Uncomment ##
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
## Uncomment and add IP range ##
mynetworks = 192.168.1.0/24, 127.0.0.0/8
## Uncomment ##
home_mailbox = Maildir/

Al termine, salva ed esci dal file di configurazione. Riavvia il servizio di postfix per rendere effettive le modifiche

# systemctl restart postfix

Passaggio 7) Testare Postfix Mail Server

Verifica se la nostra configurazione funziona, prima crea un utente di prova

# useradd postfixuser
# passwd postfixuser

Quindi, esegui il comando seguente per inviare e-mail da pkumar utente locale a un altro utente "utente postfix '

# telnet localhost smtp
or
# telnet localhost 25

Se il servizio telnet non è installato, puoi installarlo usando il comando:

# dnf install telnet -y

Quando esegui il comando come indicato in precedenza, dovresti ottenere l'output come mostrato

[[email protected] ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server1.crazytechgeek.info ESMTP Postfix

Sopra conferma che la connettività al server di posta postfix funziona correttamente. Quindi, digita il comando:

# ehlo localhost

L'output sarà qualcosa del genere

250-server1.crazytechgeek.info
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8

Quindi, esegui i comandi evidenziati in arancione, come "mail from", "rcpt to", data e infine digita quit,

mail from:<pkumar>
250 2.1.0 Ok
rcpt to:<postfixuser>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
Hello, Welcome to my mailserver (Postfix)
.
250 2.0.0 Ok: queued as B56BF1189BEC
quit
221 2.0.0 Bye
Connection closed by foreign host

Completa il comando telnet per inviare e-mail dall'utente locale "pkumar ” a un altro utente locale “utente postfix ” sarebbe qualcosa come sotto

Se tutto è andato secondo i piani, dovresti essere in grado di visualizzare l'e-mail inviata nella home directory del nuovo utente.

# ls /home/postfixuser/Maildir/new
1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
#

Per leggere l'email, usa semplicemente il comando cat come segue:

# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info

Registri del server di posta Postfix

I log di posta del server di posta Postfix sono archiviati nel file “/var/log/maillog ", usa il comando seguente per visualizzare i registri in tempo reale,

# tail -f /var/log/maillog

Protezione del server di posta Postfix

Si consiglia sempre di proteggere la comunicazione tra i client e il server Postfix, ciò può essere ottenuto utilizzando certificati SSL, questi certificati possono provenire da autorità attendibili o certificati autofirmati. In questo tutorial genereremo un certificato autofirmato per postfix utilizzando openssl comando,

Presumo che openssl sia già installato sul tuo sistema, nel caso in cui non sia installato, usa il seguente comando dnf,

# dnf install openssl -y

Genera chiave privata e CSR (Richiesta di firma del certificato) utilizzando il comando openssl,

# openssl req -nodes -newkey rsa:2048 -keyout mail.key -out mail.csr

Ora genera il certificato autofirmato usando il seguente comando openssl,

# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt
Signature ok
subject=C = IN, ST = New Delhi, L = New Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, emailAddress = [email protected]
Getting Private key
#

Ora copia la chiave privata e il file del certificato nella directory /etc/postfix

# cp mail.key mail.crt /etc/postfix

Aggiorna la chiave privata e il percorso del file del certificato nel file di configurazione suffisso,

# vi /etc/postfix/main.cf
………
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/mail.crt
smtpd_tls_key_file = /etc/postfix/mail.key
smtpd_tls_security_level = may
………

Riavvia il servizio postfix per apportare le modifiche precedenti all'effetto.

# systemctl restart postfix

Proviamo a inviare e-mail al dominio locale interno e al dominio esterno utilizzando il client mailx.

Invio di email interne locali dall'utente pkumar all'utente postfix

# echo "test email" | mailx -s "Test email from Postfix MailServer" -r [email protected] [email protected]

Controlla e leggi l'e-mail utilizzando quanto segue,

# cd /home/postfixuser/Maildir/new/
# ll
total 8
-rw-------. 1 postfixuser postfixuser 476 Nov 12 17:34 1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
-rw-------. 1 postfixuser postfixuser 612 Nov 13 02:40 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
# cat 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info

Invio di email da postfixuser a dominio esterno ( [email protetta])

# echo "External Test email" | mailx -s "Postfix MailServer" -r [email protected] [email protected]

Nota: Se il tuo IP non è nella lista nera da nessuna parte, la tua e-mail al dominio esterno verrà consegnata, altrimenti verrà rimbalzata dicendo che l'IP è nella lista nera nel database di spamhaus così e così.

Controlla la coda di posta di Postfix

Usa il comando mailq per elencare i messaggi in coda.

# mailq
Mail queue is empty
#

E questo è tutto! La nostra configurazione Postfix funziona! È tutto per ora. Ci auguriamo che tu abbia trovato questo tutorial utile e che tu possa configurare comodamente il tuo server Postfix locale.

Leggi anche :Come installare e configurare Samba su CentOS 8


Cent OS
  1. Come installare e configurare Nginx su CentOS 7

  2. Come installare e configurare Postfix

  3. Come installare e configurare Gitlab su CentOS 8

  4. Come installare e configurare Postgres 13 su Centos 8

  5. Come installare e configurare Postfix su Ubuntu 20.04

Come installare e configurare il server VNC in CentOS 7 / RHEL 7

Come installare e configurare Postfix su Debian

Come installare e configurare Memcached su CentOS 8

Come installare e configurare il server DHCP su Centos 8

Come installare e configurare Sandstorm Server su CentOS 8

Come installare e configurare il server VNC su CentOS/RHEL 8