Configuramos las credenciales en /etc/mail/auth/client-info
:
AuthInfo:smtp.gmail.com "U:smmsp" "I:usuario" "P:contraseña" "M:LOGIN PLAIN" AuthInfo:smtp.gmail.com:587 "U:smmsp" "I:usuario" "P:contraseña" "M:LOGIN PLAIN"
Donde el usuario no es obligatorio que lleve “@gmail.com”.
En la contraseña, si usas el carácter “%” es encesario escaparlo con otro “%”, de manera que hay que poner “%%”.
Creamos el fichero client-info.db
compilado, y les ponemos permisos de sólo lectura:
$ cd /etc/mail/auth $ makemap hash client-info.db < client-info $ chmod 600 *
Añadimos a sendmail.mc
casi al final de todo la configuración:
define(`SMART_HOST',`smtp.gmail.com')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN') define(`RELAY_MAILER_ARGS', `TCP $h 587') define(`ESMTP_MAILER_ARGS', `TCP $h 587') EXPOSED_USER(`root')dnl FEATURE(`authinfo',`hash /etc/mail/auth/client-info.db')dnl LOCAL_DOMAIN(`cookie.uucp')dnl define(`CERT_DIR', `/etc/mail/certs') define(`confCACERT_PATH', `CERT_DIR') define(`confCACERT', `CERT_DIR/ca-certificates.crt') define(`confCRL', `CERT_DIR/ca-certificates.crt') define(`confSERVER_CERT', `CERT_DIR/sendmail.pem') define(`confSERVER_KEY', `CERT_DIR/sendmail.pem') define(`confCLIENT_CERT', `CERT_DIR/sendmail.pem') define(`confCLIENT_KEY', `CERT_DIR/sendmail.pem')
(para los certificados habrá que buscar por internet, porque no recuerdo cómo era)
Se puede especificar el fichero client-info
en vez de client-info.db
.
Y compilamos sendmail.mc
:
$ m4 sendmail.mc > sendmail.cf $ service sendmail restart
Después de eso podemos hacer una prueba de envío:
$ echo "Subject: test" | /usr/lib/sendmail -v direccion.destino@gmail.com
Si tenemos algún problema con la autenticación nos dirá algo como:
050 >>> AUTH PLAIN <CREDENCIALES EN BASE64==> 050 535-5.7.8 Username and Password not accepted. Learn more at 050 535 5.7.8 https://support.google.com/mail/answer/14257 - gsmtp
y si descodificamos el código en base64 que contiene la cadena de autenticación con el usuario y la contraseña, nos indicará qué credenciales está enviando.