¿Cómo configuro exim4 para enviar correo a través de un servidor de correo ssl smtp protegido con contraseña?

19

Me gustaría que mis cronjobs puedan enviar correos desde la computadora de mi casa. Mis servidores configuran exim4 así:

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

Sin embargo, en mi casa, mi ISP bloquea el correo enviado directamente a través de un firewall. Tengo un servidor ssl smtp protegido con contraseña que podría enrutar el correo, pero no he tenido éxito en descubrir cómo configurar exim4 para que funcione. Espero que alguien me brinde un ejemplo de configuración en el que pueda agregar el nombre de host, el nombre de usuario, la contraseña y "use ssl" para que envíe correo a través de un único servidor smtp.

    
pregunta Stephen Ostermiller 23.07.2012 - 11:29

3 respuestas

25

Finalmente encontré un conjunto de instrucciones detalladas de Tony Scelfo eso realmente funciona . Parece que tiene que usar la seguridad de la capa de transporte (TLS) en el puerto 587. No he conseguido que el SSL SMTP funcione.

Primero ejecute sudo dpkg-reconfigure exim4-config y use estas opciones de configuración:

  • Tipo general de configuración de correo: correo enviado por smarthost; recibido a través de SMTP o fetchmail
  • Nombre del correo del sistema: & lt; su nombre de host & gt;
  • Dirección IP para escuchar las conexiones SMTP entrantes: 127.0.0.1
  • Otros destinos para los que se acepta correo: & lt; su nombre de host & gt;
  • Máquinas para retransmitir correo por: & lt; dejar esto en blanco & gt;
  • Dirección IP o nombre de host del smarthost saliente: mail.example.com::587
  • ¿Ocultar el nombre del correo local en el correo saliente?
    • Sí, todo el correo saliente parece provenir de su cuenta de Gmail
    • No: el correo enviado con un encabezado de nombre de remitente válido mantendrá el nombre del remitente
  • ¿Mantener el número de consultas DNS mínimas (Dial-on-Demand)? No
  • Método de entrega para correo local: & lt; elija el que prefiera & gt;
  • ¿Dividir el archivo de configuración en archivos pequeños? Sí (debes editar uno de los archivos a continuación)

Luego ejecute sudo vi /etc/exim4/passwd.client y agregue las siguientes líneas para su host de correo y cualquier alias que tenga (encontrado a través de nslookup ). Sustituir & lt; dirección de correo electrónico & gt; y & lt; contraseña & gt; con la cuenta por la que desea enrutar el correo):

mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>

Una vez que edite el archivo passwd.client , ejecute sudo update-exim4.conf , que integrará los cambios en su configuración de Exim4.

Ejecute sudo /etc/init.d/exim4 restart y asegúrese de que el servicio se detiene y se inicia correctamente. Si el servicio no puede reiniciarse, es probable que algo haya salido mal al editar el archivo passwd.client .

Si se reinicia Exim4, continúe y ejecute sudo tail -f /var/log/exim4/mainlog para ver los registros de correo. En una ventana diferente, envíe un correo electrónico desde su sistema y asegúrese de ver un registro con R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16 en él. El X=TLS significa que el correo se está enviando con la seguridad de la capa de transporte, que es lo que desea.

    
respondido por el Stephen Ostermiller 17.04.2013 - 22:16
5

Si su ISP requiere autenticación, debe establecer dc_smarthost para el nombre de host del servidor de correo y la combinación de puertos que utiliza su ISP, y dc_eximconfig_configtype para "smarthost" de la siguiente manera:

dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'

Luego, puede agregar sus credenciales a /etc/exim4/passwd.client como se muestra a continuación:

mail.example.com:username:password

Luego, cualquier correo enviado a través de su servidor exim4 se enrutará a través de este host de correo.

    
respondido por el dobey 23.07.2012 - 13:16
4

Esto funciona muy bien para mí. Mi ISP usa el puerto 25 y dc_smarthost='myisp.mail.server:25' después de cambiar estos archivos y emitir comandos:

  1. update-exim4.conf
  2. /etc/init.d/exim4 restart

Después de hacer una prueba para enviar un correo electrónico a través de una muestra clásica de exim4 como:

echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" my-user-in-isp@my-domain-url

Y estos fluyen bien a la bandeja de entrada de my-user en my-domain-url .

    
respondido por el gsavix 16.09.2012 - 05:47

Lea otras preguntas en las etiquetas