Gmail Workspace / Gmail Suite enviar e-Mail desde el servidor usando msmtp
Estamos en proceso de migración a Gmail, para poder delegar la gestión de un servidor de correo.
Antes utilizábamos ssmtp en nuestro servidor para enviar correos electrónicos, utilizando nuestro propio servidor de correo (Zimbra).
Ahora he conseguido que Gmail Workspace funcione, y me gustaría compartir algunos consejos sobre cómo hacerlo.
Esto se hace en un sistema Debian / Ubuntu.
Configurar la autenticación de 2 factores
Accede a tu cuenta de Google:
Haga clic en la pestaña de Seguridad y desplácese hacia abajo hasta la Verificación en 2 pasos, habilítela.
Probablemente tendrás que proporcionar tu número de teléfono móvil a Google o elegir otra opción aquí.
Configurar una contraseña de la App
Haga clic en "Contraseñas de aplicaciones" debajo de la verificación en dos pasos.
Google te pedirá que vuelvas a iniciar sesión.
(Nota: ya tengo una contraseña de la aplicación configurada, su pantalla podría verse un poco diferente al principio)
Haga clic en Seleccionar aplicación, y seleccione Otro (nombre personalizado)
Puede introducir el nombre que desee: es para su referencia. Por ejemplo,
Haga clic en Generar
Aparecerá una ventana emergente. La contraseña de tu aplicación sólo se mostrará esta vez, así que asegúrate de copiarla.
Tenga en cuenta que la contraseña sólo se muestra como cuatro segmentos de cuatro caracteres cada uno para que sea más fácil de leer, no habrá espacios en la contraseña real.
En este caso la contraseña es
lwsznhkychasbbrh
Haga clic en "Done" (Hecho).
Cambiar a msmtp
ssmtp ya no se mantiene, y posiblemente también tendrá problemas de conexión con Gmail:
/var/log/syslog:15 de octubre 09:52:22 Athena sSMTP[19076]: Conexión SSL usando ECDHE_ECDSA_CHACHA20_POLY1305
/var/log/syslog:15 de octubre 09:52:22 Athena sSMTP[19076]: Autorización fallida (535 5.7.8 https://support.google.com/mail/?p=BadCredentials ************.79 - gsmtp)
ssmtp: Autorización fallida (535 5.7.8 https://support.google.com/mail/?p=BadCredentials *************.4 - gsmtp)
Aparentemente, la parte de autenticidad de ECDHE puede ser un problema para algunos usuarios de los sistemas más nuevos.
La solución es cambiar a msmtp.
Eliminar ssmtp (todos los comandos se ejecutan como root)
apt-get purge ssmtp
Instalar msmtp
apt-get install msmtp msmtp-mta
Configurar msmtp
nano /etc/msmtprc
Pon los siguientes datos:
valores predeterminados
autenticidad en
tls en
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
archivo de registro /var/log/msmtp.logcuenta gmail
host smtp.gmail.com
puerto 587de [email protected]
usuario [email protected]
contraseña lwsznhkychasbbrhcuenta por defecto : gmail
Cambia tus datos de acceso (desde, usuario y contraseña - he tomado lwsznhkychasbbrh del ejemplo anterior).
Tenga en cuenta que no es necesario reiniciar un servicio ni nada por el estilo: los datos de acceso se utilizarán para el siguiente correo electrónico que el servidor intente enviar.
Utilice el contraseña de la aplicación generado arriba - la contraseña de su cuenta no funcionará:
msmtp: autenticación fallida (método PLAIN)
msmtp: mensaje del servidor: 534-5.7.9 Se requiere una contraseña específica de la aplicación. Más información en
msmtp: mensaje del servidor: 534 5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor *************.29 - gsmtp
msmtp: no se ha podido enviar el correo (cuenta por defecto de /etc/msmtprc)
Además, tenga en cuenta que la contraseña de la aplicación debe introducirse sin espacios entre los caracteres (como se ha comentado anteriormente)
Asegure este archivo (¡contiene datos de acceso!):
chmod 600 /etc/msmtprc
Habilitar aplicaciones menos seguras
https://admin.google.com/u/2/ac/security/lsa
Desgraciadamente, usted también necesitan habilitar Aplicaciones menos seguras acceso para sus cuentas en Google Admin, de lo contrario seguiría recibiendo el mismo mensaje de error:
msmtp: autenticación fallida (método PLAIN)
msmtp: mensaje del servidor: 535-5.7.8 Nombre de usuario y contraseña no aceptados. Más información en
msmtp: mensaje del servidor: 535 5.7.8 https://support.google.com/mail/?p=BadCredentials **********.34 - gsmtp
msmtp: no se ha podido enviar el correo (cuenta por defecto de /etc/msmtprc)
Cambie esta opción por "Permitir a los usuarios gestionar su acceso a las aplicaciones menos seguras" y haga clic en Guardar.
Enviar un mensaje de prueba
Si todo funciona correctamente, ahora puede enviar un mensaje de prueba:
echo 'test' | msmtp [email protected]
Si este comando regresa sin un error, entonces todo funciona.
Además, si actualizas la vista de contraseñas de la aplicación, verás que la contraseña de la aplicación ha sido utilizada ("última utilizada"):
(aunque esto podría no ser siempre exacto según mis pruebas).
Si lo hiciera no funciona, se obtendría una salida similar a la siguiente:
msmtp: autenticación fallida (método PLAIN)
msmtp: mensaje del servidor: 535-5.7.8 Nombre de usuario y contraseña no aceptados. Más información en
msmtp: mensaje del servidor: 535 5.7.8 https://support.google.com/mail/?p=BadCredentials ***********.9 - gsmtp
msmtp: no se ha podido enviar el correo (cuenta por defecto de /etc/msmtprc)
Nota: Este error también aparecerá si borras la contraseña de la aplicación utilizando el icono de la papelera que puedes ver arriba. Esto, por cierto, es una característica útil de las contraseñas de las aplicaciones: si sospechas de una violación, puedes simplemente eliminar la contraseña de la aplicación y configurar tu dispositivo con otra contraseña de la aplicación.
Si sigues obteniendo este error, comprueba si has habilitado las aplicaciones menos seguras, como te he indicado (más arriba).
Nota II: recibirás una información sobre las contraseñas de las aplicaciones recién creadas en tu cuenta de correo electrónico:
Nota III: también obtendrás los mensajes enviados en tu carpeta de enviados:
Ref
- https://doc.ubuntu-fr.org/msmtp
- https://stackoverflow.com/questions/63560494/gmail-is-blocking-to-send-email-via-smtp
- https://www.getmailbird.com/setup/access-gmail-com-via-imap-smtp
- https://support.google.com/a/answer/176600?hl=en (esto también menciona un servicio de retransmisión SMTP, que se puede utilizar como alternativa)
Bono
Google menciona su límites de la tarifa en esta página:
- 10.000 destinatarios al día para el servicio de retransmisión SMTP (requiere una dirección IP estática o el inicio de sesión de un usuario válido de G Suite)
- 2.000 mensajes al día para el SMTP de Gmail