Con questa guida verranno illustrati i passi necessari per configurare il nostro account Gmail come relay per Sendmail.
Prerequisiti
- Il pacchetto sendmail installato sulla propria macchina
- Un account Gmail
- Connettività verso il server smtp di Gmail (smtp.gmail.com) sulla porta 587/tcp
Preparazione
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
Autenticazione SMTP
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/*
Configuriamo il sendmail.mc
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
Mandiamo la nostra prima e-mail
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 [email protected]