Cuando exim4 envía HELO / EHLO, ¿cómo configuro qué nombre de host envía?

12

Los correos de mi sistema se rechazan cuando el servidor receptor realiza la comprobación HELO. Creo que mi sistema está enviando el nombre de dominio incorrecto. Estoy ejecutando exim4. Buscar en Google cualquier cosa sobre exim4 y dominios produce una lista de pesadilla de resultados irrelevantes. Del mismo modo, buscar en Google los rechazos de HELO genera una horda de usuarios de Outlook que necesitan activar la autenticación SMTP. Por mi vida no puedo resolver esta simple pregunta: ¿qué nombre de host está enviando exim y cómo lo cambio?

Desafortunadamente, no puedo ver lo que Exim está enviando a través del cable, así que no tengo forma de depurar esto yo mismo. Espero que alguien haya tenido este problema y solo lo sepa :).


fuente

Respuestas:

15

Suponiendo que el error se queja de los datos HELO / EHLO, desea utilizar la opción helo_data en el transporte smtp. El valor predeterminado es $ primary_hostname.

remote_smtp:
    driver = smtp
    helo_data = host.example.com

Más información está disponible en el manual .

Si este no es el caso, probablemente desee incluir algunos mensajes de rechazo de ejemplo. Solo el código de tres dígitos y la cadena después de eso.

David Pashley
fuente
¡Gracias! Después de 10 minutos más de lectura acerca de cómo incluso cambiar una configuración de exim4 en un sistema basado en Debian, configuré el nombre_host_primario en el FQDN en /etc/exim4/exim4.conf.template y reinicé exim4. Eso hizo el truco! Mi nombre de host es diferente del FQDN y no estoy usando minimal_dns, por lo tanto, el problema original. Además, solo modificando su enlace manual pude incluso encontrar los documentos en primary_hostname (¡exim es tan basura de google!). ¡Gracias de nuevo!
Probablemente no quieras actualizar ese archivo. Yo recomendaría ejecutar update-exim4.conf --keepcomments y luego copiar /var/lib/exim4/config.autogenerated a /etc/exim4/exim4.conf y luego modificar ese archivo.
David Pashley
4

El comando

sudo dpkg-reconfigure exim4-config

debería solicitarle el nombre de host principal que debe usar.

David North
fuente
3

En Debian (Lenny) descubrí que configuraste el nombre de host /etc/hostnamepero que esto no se reconoce hasta que se reinicia.

$ hostname newhostname

lo configura de inmediato (pero se pierde al reiniciar, por lo que debe hacer los dos).

exim4 parece informar lo mismo que uname -n, y encontré que es una forma útil de probar.

Robot ingenioso rico
fuente
2

¿Qué nombre de host está enviando exim?

Uno puede encontrar el nombre HELO en los registros de exim4. Detenga el demonio exim4, luego reinícielo manualmente con la depuración habilitada:

/usr/sbin/exim4 -bd -d+all 2>&1 | egrep 'HELO|EHLO'

(la 2>&1|egrep 'HELO|EHLO'parte es opcional, simplemente redirige stderr a stdout, luego canaliza el registro a egrep, que filtrará todo menos las líneas que contienen HELO o EHLO).

Envíe un correo electrónico y debe haber una o dos líneas en el siguiente formulario:

SMTP>> EHLO foobar.example.com

El nombre HELO es foobar.example.com.

También hay varias herramientas útiles de verificación en línea que proporcionan esta información (y muchas otras útiles), por ejemplo:

¿Cómo lo cambio?

En lugar de editar el archivo de transporte como sugiere David, prefiero usar las definiciones constantes exim4 (?) Y establecer el nombre en /etc/exim4/conf.d/main/00_local_settings(en configuración dividida), por ejemplo:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

No olvide ejecutar update-exim4.confantes para reiniciar exim4.

Configuré el nombre_host_primero [...] en /etc/exim4/exim4.conf.template

Como lo mencionó David, esta probablemente no sea la mejor idea. En la configuración dividida, puede establecer el nombre de host principal agregando

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

en /etc/exim4/conf.d/main/00_local_settings. Parece que estaría PRIMARY_HOST_NAMEen configuración monolítica exim4.

Skippy le Grand Gourou
fuente
0

La configuración que desea se llama primary_hostname .

Para la depuración puedes usar

tcpdump -A port 25

para ver el tráfico SMTP en ASCII.

brian-brasil
fuente