This guide is available in English

sendmail: Utilizziamo il nostro account Gmail come relay

Con questa guida verranno illustrati i passi necessari per configurare il nostro account Gmail come relay per Sendmail.

  • Il pacchetto sendmail installato sulla propria macchina
  • Un account Gmail
  • Connettività verso il server smtp di Gmail (smtp.gmail.com) sulla porta 587/tcp

Come primo passo facciamo un backup di alcuni file di configurazione di sendmail in modo da ripristinare la configurazione di default (o precedente) nel caso si hanno dei problemi:

# cd /etc/mail
# cp sendmail.cf sendmail.cf.orig
# cp sendmail.mc sendmail.mc.orig

Il prossimo passo è creare il file che conterrà le credenziali di accesso al server smtp di Gmail.

Creiamo la directory /etc/mail/auth:

# mkdir -m 700 -p /etc/mail/auth

Creiamo il file auth-info che conterrà le credenziali di accesso a Gmail:

# touch /etc/mail/auth/auth-info

Copiamo le righe qui in basso e con il nostro editor di testo preferito, sostituiamo i parametri <USERNAME> e <PASSWORD> con le nostre credenziali:

AuthInfo:smtp.gmail.com "U:root" "I:<USERNAME>@gmail.com" "P:<PASSWORD>"

Come ultimo passo creiamo il database map:

# cd /etc/mail/auth
# makemap hash auth-info < auth-info

Al termine del comando, verrà creato il file auth-info.db.

Per aumentare la sicurezza diamo ai file appena creati i permessi in lettura “solo” a root:

# chmod 0600 /etc/mail/auth/*

Copiamo le righe in calce e con il nostro editor di testo preferito incolliamole nel nostro /etc/mail/sendmail.mc, prima del primo MAILER:

define(`SMART_HOST',`smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/auth-info')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')

Salviamo e creiamo il nostro file sendmail.cf:

# cd /etc/mail
# m4 sendmail.mc > sendmail.cf

Dopo aver configurato, riavviamo i servizi di sendmail:

# sh /etc/rc.d/rc.sendmail restart

A questo punto siamo pronti per fare un test di invio e-mail:

$ echo 'Test invio e-mail'| mail -s TEST j[email protected]