Pregunta

Estoy configurando un servidor que está en una red detrás de un firewall y quiero que los programas en esta computadora puedan usar sendmail para enviar correos electrónicos a cualquier dirección de correo electrónico.Tenemos un servidor SMTP ejecutándose en esta red (llamémoslo mailrelay.example.com), que es como se supone que debemos pasar los correos electrónicos salientes a través del firewall.

Entonces, ¿cómo configuro sendmail para enviar todo el correo a través de mailrelay.example.com?Buscar en Google aún no me ha dado la respuesta y solo ha revelado que la configuración de sendmail es extremadamente compleja y molesta.

¿Fue útil?

Solución

@eli:Generalmente no se recomienda modificar sendmail.cf directamente, ya que lo genera el compilador de macros.

Edite /etc/mail/sendmail.mc para incluir la línea:

  define(`SMART_HOST',`mailrelay.example.com')dnl 

Después de cambiar el archivo de configuración de macro SendMail.mc, debe recompensarse para producir el archivo de configuración SendMail.

  # m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

Y reinicie el servicio sendmail (Linux):

  # /etc/init.d/sendmail restart

Además de configurar el host inteligente, es posible que también desees deshabilitar la configuración de resolución de nombres y posiblemente cambiar tu sendmail a un puerto no estándar o deshabilitar el modo demonio.

Deshabilitar la resolución de nombres

Los servidores que se encuentran dentro de las redes de paredes de fuego o que utilizan la traducción de direcciones de red (NAT) pueden no tener disponibles servicios DNS o NIS.Esto crea un problema para Sendmail, ya que usará DNS de forma predeterminada, y si no está disponible, verá mensajes como este en Mailq:

  host map: lookup (mydomain.com): deferred)

A menos que esté preparado para configurar un servicio DNS o NIS apropiado que Sendmail puede usar, en esta situación generalmente configurará la resolución de nombres que se realizará utilizando el archivo /etc /hosts.Esto se hace habilitando un archivo 'Service.switch' y especificando la resolución por archivo, de la siguiente manera:

1:Habilitar servicio.switch para sendmail edit /etc/mail/sendmail.mc para incluir las líneas:

  define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

2:Configurar Service.switch para archivos Crear o modificar /etc/mail/service.switch para referirse solo a/etc/hosts para la resolución de nombres:

  # cat /etc/mail/service.switch
  hosts files

3:Vuelva a compilar sendmail.mc y reinicie sendmail para que esta configuración surta efecto.

Cambie sendmail a un puerto no estándar o desactive el modo demonio

De forma predeterminada, sendmail escuchará en el puerto 25.Es posible que desee cambiar este puerto o deshabilitar el modo Sendmail Daemon por completo por varias razones:- Si hay una política de seguridad que prohíbe el uso de puertos conocidos, si otro producto/proceso SMTP se ejecuta en el mismo host en el puerto estándar, si no desea aceptar el correo a través de SMTP, solo Enviarlo con Sendmail

1:Para cambiar sendmail para usar un puerto no estándar.Edite /etc/mail/sendmail.mc y modifique la configuración "Puerto" en la línea:

  DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

Por ejemplo, para que sendmail utilice el puerto 125:

  DAEMON_OPTIONS(`Port=125,Addr=127.0.0.1, Name=MTA')

Esto requerirá volver a compilar sendmail.mc y reiniciar sendmail.

2:Alternativamente, para deshabilitar el modo Sendmail Daemon en total (Linux) editar/etc/sysconfig/sendmail y modificar la configuración "demonio" a:

  DAEMON=no

Este cambio requerirá que se reinicie sendmail.

Otros consejos

http://www.elandsys.com/resources/sendmail/smarthost.html

Enviar correo inteligente

Un smarthost es un anfitrión a través del cual se transmite el correo saliente.Algunos ISP bloquean el tráfico SMTP saliente (puerto 25) y requieren que sus usuarios envíen todo el correo a través del servidor de correo del ISP.Sendmail se puede configurar para usar el servidor de correo del ISP como host SMART.

Lea el artículo vinculado para obtener instrucciones sobre cómo configurar esto.

@Espo:Gracias por el fantástico consejo sobre por dónde empezar.Su enlace habría sido mejor si hubiera estado configurando sendmail para su primer uso en lugar de tomar una configuración existente y realizar este pequeño cambio.Sin embargo, una vez que supe buscar cosas en "SmartHost", encontré una manera más fácil.

Todo lo que tuve que hacer fue editar mi archivo /etc/mail/sendmail.cf para cambiar

DS

a

DSmailrelay.example.com

luego reinicie sendmail y funcionó.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top