Hablemos de su proyecto
Linux Ubuntu 14.04 LTS Ubuntu 18.04 LTS

Configurar Exim para enviar correos electrónicos con Gmail

Veremos cómo configurar Exim4 para enviar correos electrónicos del sistema con Gmail. Esto garantizará que tus correos enviados con tu CRON sean correctamente encaminados y no terminen en spam.Instalemos Exim4 apt-get install exim4 Configuración dp...

Configurar Exim para enviar correos electrónicos con Gmail

Veremos cómo configurar Exim4 para enviar correos electrónicos del sistema con Gmail. Esto garantizará que tus correos enviados con tu CRON sean correctamente encaminados y no terminen en spam.

Instalemos Exim4

apt-get install exim4

Configuración

dpkg-reconfigure exim4-config

Elige: correo enviado por intermediario (smarthost); sin correo local

Selection_310

Luego responde las preguntas de la siguiente manera:

System mail name: YOUR_HOSTNAME

IP-addresses to listen on for incoming SMTP connections: 127.0.0.1 ; ::1

Other destinations for which mail is accepted: <BLANK>

Visible domain name for local users: <BLANK>

IP address or host name of the outgoing smarthost: smtp.gmail.com::587

Keep number of DNS-queries minimal (Dial-on-Demand)? No

Split configuration into small files? No

Root and postmaster mail recipient: <BLANK>

Abre y edita el archivo: /etc/exim4/exim4.conf.template

Busca:

.ifdef DCconfig_smarthost DCconfig_satellite

Y añade estas líneas justo después:

send_via_gmail:
    driver = manualroute
    domains = ! +local_domains
    transport = gmail_smtp
    route_list = * smtp.gmail.com

Elimina todos los demás bloques de intermediario (smarthost) que contengan:

domains = ! +local_domains

Coméntalos con un # al principio de la línea

Selection_311

Busca los autenticadores con la ocurrencia:

begin authenticators

Y añade estas líneas:

gmail_login:
    driver = plaintext
    public_name = LOGIN
    client_send = : VOTRE_EMAIL@gmail.com : VOTRE_PASS_GMAIL

Elimina todos los demás bloques que contengan:

public_name = LOGIN

También puedes simplemente renombrarlos así:

login:
  driver = plaintext
  public_name = LOGIN_BACK

Esto evita tener un conflicto de nombres.

Luego busca:

transport/30_exim4-config_remote_smtp_smarthost

Y añade estas líneas:

gmail_smtp:
    driver = smtp
    port = 587
    hosts_require_auth = $host_address
    hosts_require_tls = $host_address

Cierra y guarda tu archivo de configuración: /etc/exim4/exim4.conf.template

Recargamos el archivo de configuración:

update-exim4.conf

Y reiniciamos el servicio:

/etc/init.d/exim4 restart

Podemos probar nuestro envío de correos:

echo 'Test' | mail -s 'Message test' VOTRE_EMAIL@ADDRESSE

Validar el transporte sin exponer las credenciales

Los mecanismos de autenticación de los proveedores de correo electrónico están evolucionando. Almacene los secretos fuera del repositorio, utilice una cuenta técnica con derechos mínimos y pruebe primero el envío a una dirección controlada.

  • Verifique la encriptación TLS, el puerto y el método de autenticación esperados por el proveedor.
  • Controle los registros de la aplicación y la cola, sin mostrar ninguna contraseña.
  • Para Google, privilegie « Iniciar sesión con Google »; una contraseña de aplicación requiere la validación en dos pasos y debe poder ser revocada.

Referencia: documentación de Google sobre las contraseñas de aplicación.

Compartir este artículo