Email Configuration · 3 min read · Dec 25, 2025

Configurare SendMail per Agire come SmartHost e Riscrivere l'Indirizzo del Mittente

Configurare SendMail per Agire come SmartHost e Riscrivere l’Indirizzo del Mittente

Questo tutorial spiega come configurare un server sendmail per inoltrare tutte le email generate da localhost a un altro server SMTP per inviare email a destinatari remoti. Spiega anche come riscrivere l’indirizzo del mittente da [email protected] a [email protected].

Scenario Esemplare: Hai un server di produzione che non è configurato per inoltrare email esternamente, ma c’è un’applicazione in esecuzione su quel server che invia il suo log all’indirizzo email fornito riguardo il suo stato e in caso di eventuali guasti del servizio. Poiché il sendmail viene eseguito localmente con il nome localhost.localdomain, cerca di inoltrare l’email con [email protected] al server smtp remoto, che verrebbe rifiutata per il motivo che localhost.localdomain si risolve in un IP non valido. Quindi, per superare questo problema, dobbiamo riscrivere l’indirizzo del mittente da [email protected] a [email protected]. In questo modo, l’altro server smtp inoltra l’email da [email protected] a [email protected] o a qualsiasi altro indirizzo a cui desideri inviare l’email di stato del servizio.

NOTA: Parti specifiche di questo tutorial si applicano solo ai sistemi basati su Redhat, ma in generale la procedura si applica a tutti i server sendmail.

IP SMARTHOST : 10.1.1.50
IP HOST SMTP : 10.1.1.10

Controlla i RPMS Installati:

Prima di tutto, i pacchetti rpms di Sendmail devono essere installati. Per impostazione predefinita, Sendmail viene installato con l’installazione del sistema.

Controlla i pacchetti sendmail installati:

root@nerdplanet# rpm -q sendmail sendmail-cf

Questi due pacchetti dovrebbero essere elencati come installati:

sendmail-8.xx
sendmail-cf-8.xx

Se non sono già installati, installali.

Installa i Rpms

root@nerdplanet# yum install sendmail sendmail-cf

Dovrebbe installarli nel tuo sistema linux.

Una volta installati, devi assicurarti che il server sia avviato e si avvii automaticamente al riavvio.

root@nerdplanet# chkconfig sendmail on 
root@nerdplanet# service sendmail start

Ora il server è attivo e funzionante.

Prima aggiungi l’indirizzo IP del server remoto e il suo nome di dominio a /etc/hosts

vi /etc/hosts
10.1.1.10    smtp.example.com

Non è necessario eseguire il passaggio sopra se il tuo DNS locale può risolvere il nome di dominio nell’indirizzo IP del server smtp configurato per inoltrare le email.

Modifica il file di configurazione di Sendmail per inoltrare le email

vi /etc/mail/sendmail.mc

Inoltrare le email allo smarthost

dnl # define(`SMART_HOST',`smtp.example.net') 

Trova la riga che contiene l’entrata sopra e sostituiscila con l’indirizzo del tuo server smtp.

define(`SMART_HOST',`smtp.example.com')

Poi salva il file.

Per riscrivere l’indirizzo del mittente delle email crea il file genericstable.

vi /etc/mail/genericstable

Nel file Generics table inserisci le seguenti righe:

root    [email protected]
mohan   [email protected]

Le righe sopra significano che se qualsiasi email inviata da root verrà mascherata e apparirà provenire da [email protected] invece di [email protected], e se qualsiasi email inviata dall’utente mohan apparirà provenire da [email protected] invece di [email protected]

Poi salva il file.

Abilitare le Funzionalità nel file di configurazione di sendmail.

vi /etc/mail/sendmail.mc

Aggiungi queste righe per abilitare le funzionalità:

FEATURE(masquerade_envelope)dnl
FEATURE(`genericstable')dnl
GENERICS_DOMAIN(`localhost.localdomain')dnl

Poi esegui:

make -C /etc/mail

Dovrebbe compilare tutti i file nella directory /etc/mail e aggiornare le modifiche.

Dopo di che riavvia il servizio sendmail.

root@nerdplanet# service sendmail restart

Questo è tutto, hai configurato sendmail per agire come uno smarthost.

Configurare il tuo Server SMTP per accettare email dagli Smarthosts:


NOTA: Questa procedura è applicabile solo se il server smtp remoto attivo è un server sendmail, il che è vero in questo scenario. Per altri server SMTP fai riferimento alla loro documentazione.

Presunzioni: Il server SMTP attivo sta già utilizzando FEATURE (‘access_db’..

Modifica il file di accesso nel server smtp attivo per accettare email dallo smarthost.

vi /etc/mail/access
connect:10.1.1.50    RELAY
cd /etc/mail

Ricostruisci il file del database di Access.

/usr/sbin/makemap hash access < access

Riavvia il servizio sendmail.

root@smtp# service sendmail restart

Questo è tutto; il server smtp remoto accetterà email dallo smarthost.

Spero che questo tutorial sia utile a qualcuno. Ti prego di lasciare i tuoi commenti.

Link Originale: Questo tutorial è disponibile anche su http://www.nerdplanet.co.uk.

Saluti!

Mohan.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.