Come configurare un server di posta su una Virtual Machine

Per aprire la porta 25 sulla tua Virtual Machine (VM), vai su VPS Manager > scegli la scheda "Mail Bridge" > premi il pulsante ‘Add Mail Bridge’.

Una volta impostato il record PTR e abilitata la porta 25, puoi configurare il server SMTP che preferisci. Di seguito trovi esempi per Postfix, Exim e Sendmail. Usa il VM IP mostrato nel tuo VPS Manager e assicurati che il tuo nome di dominio per il record PTR corrisponda al dominio del mittente (ad esempio, mail.example.com).

Installazione e configurazione di Postfix

# per Debian/Ubuntu

sudo apt update

sudo apt install postfix mailutils -y



# per Almalinux/Rocky/Cloudlinux/EL

# controlla le distro basate su RPM per verificare

# se Postfix è installato

rpm -qa | grep postfix

# se non lo è, esegui il comando seguente per installare Postfix

sudo dnf install postfix



Quando Postfix è installato, puoi avviare il servizio e assicurarti che si avvii dopo il riavvio del server:

sudo systemctl start postfix

sudo systemctl enable postfix

Quindi puoi configurare il servizio. Tutte le opzioni necessarie per il servizio si trovano nella directory /etc/postfix e il file di configurazione principale è /etc/postfix/main.cf

Esegui il comando sudo nano /etc/postfix/main.cf per iniziare a modificare il file di configurazione principale e aggiungi o aggiorna queste righe:

inet_interfaces = all

# myhostname dichiara il nome host del server di posta

myhostname = mail.example.com

# mydomain dichiara il dominio che gestisce effettivamente le email

domain = example.com

# mail_spool_directory dichiara la directory in cui vengono collocati i file delle caselle di posta

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



Riavvia Postfix per applicare le modifiche:

sudo systemctl restart postfix



Verifica l'invio della posta:

echo "Test message" | mail -s "Test Email" user@recipient.com

Installazione e configurazione di Exim 4

# per Ubuntu/Debian

sudo apt update

sudo apt install exim4 -y



Il comando seguente mostra un'interfaccia guidata per la configurazione del software. Consente agli utenti di decidere se Exim deve suddividere la propria configurazione in più file o archiviarla in un unico file:

sudo dpkg-reconfigure exim4-config

Se viene utilizzata la prima opzione, la configurazione verrà archiviata nelle sottodirectory /etc/exim4/conf.d. Se viene scelto un solo file di configurazione, sarà /etc/exim4/exim4.conf

Quando tutte le configurazioni sono completate, esegui systemctl restart exim4in modo che le modifiche abbiano effetto.

Modifica /etc/exim4/update-exim4.conf.conf per assicurarti che:

# dc_local_interfaces dichiara l'IP del tuo servizio di posta (ad es. 203.0.113.10)

dc_local_interfaces='203.0.113.10'

# dc_readhost dichiara il nome di posta del tuo sistema

dc_readhost='example.com'

# dc_other_hostnames dichiara il nome host del sistema

dc_other_hostnames='mail.example.com'



Riavvia Exim per applicare le modifiche:

sudo systemctl restart exim4


Verifica la consegna delle email eseguendo il comando seguente:

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Installazione e configurazione di Sendmail

# per Ubuntu/Debian

sudo apt update

sudo apt install sendmail sendmail-bin -y

# per Almalinux/Cloudlinux/RHEL

yum install sendmail sendmail-cf mailutils


Il file di configurazione principale di Sendmail è /etc/mail/sendmail.cf. Evita di modificare direttamente questo file. Se è necessario modificare la configurazione, modifica invece il file /etc/mail/sendmail.mc, esegui un backup del file di configurazione originale e utilizza una delle seguenti alternative per generare un nuovo file di configurazione:

1) Usa il makefile incluso /etc/mail per creare una nuova configurazione:

make all -C /etc/mail/

 

Tutti i file generati in /etc/mail verranno rigenerati se necessario.

2) In alternativa, puoi usare il processore di macro m4 per creare un nuovo /etc/mail/sendmail.cf. Il processore di macro m4 non è installato per impostazione predefinita. Prima di usarlo per creare /etc/mail/sendmail.cf, installa il pacchetto m4 come root:

# per Almalinux/Cloudlinux/RHEL

yum install m4


# per Ubuntu/Debian

apt install m4


I seguenti file di configurazione di Sendmail si trovano nella directory /etc/mail/:

  • access- specifica quali sistemi possono usare Sendmail per la posta in uscita

  • domaintable- mappatura dei nomi di dominio

  • local-host-names - alias per l'host del server

  • mailertable- istruzioni che sovrascrivono l'instradamento per domini specifici

  • virtusertable- specifica una forma di alias specifica del dominio, consentendo di ospitare più domini virtuali sulla macchina.


Di seguito puoi vedere esempi di come possono essere modificati i file di configurazione:

# modifica degli alias dell'host del server:

echo "mail.example.com" > /etc/mail/local-host-names


# associazione all'IP di posta modificando /etc/mail/sendmail.mc:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# ricostruzione della configurazione:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# test:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

Molti dei file di configurazione sopra menzionati devono memorizzare le loro informazioni in file di database prima che qualsiasi modifica possa avere effetto. Per includere eventuali modifiche apportate nei file di configurazione, esegui il comando makemap hash /etc/mail/<name> < /etc/mail/<name>come root. Qui, <name> rappresenta il nome della configurazione da aggiornare.

Riavvia il processo Sendmail eseguendo il comando systemctl restart sendmail.

È richiesto un indirizzo email valido