Solución 1:
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
Hay más información disponible en el manual.
Si este no es el caso, probablemente desee incluir algunos ejemplos de mensajes de rechazo. Solo el código de tres dígitos y la cadena después de eso.
Solución 2:
El comando
sudo dpkg-reconfigure exim4-config
debería solicitarle el nombre de host principal a utilizar.
Solución 3:
En Debian (Lenny) descubrí que configuraste el nombre de host en /etc/hostname
pero que esto no se reconoce hasta que se reinicia.
$ hostname newhostname
lo establece de inmediato (pero se pierde al reiniciar, por lo que debe hacer las dos).
exim4 parece reportar lo mismo que uname -n
, y encontré que es una forma útil de probar.
Solución 4:
¿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'
(el 2>&1|egrep 'HELO|EHLO'
la parte es opcional, solo redirige stderr a stdout, luego canaliza el registro a egrep
, que filtrará todo excepto las líneas que contengan 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 brindan esta información (y muchas otras útiles), p. :
- https://www.mail-tester.com (cuidado, solo 3 comprobaciones de correo electrónico gratuitas por día);
- [email protected] (gratis);
- [email protected] (la mayoría de sus comentarios no son gratuitos, pero para este propósito lo son).
¿Cómo lo cambio?
En lugar de editar el archivo de transporte como sugirió David, prefiero usar definiciones constantes exim4 (?) y establecer el nombre en /etc/exim4/conf.d/main/00_local_settings
(en configuración dividida), p. :
REMOTE_SMTP_HELO_DATA=$sender_address_domain
No olvide ejecutar update-exim4.conf
antes de reiniciar exim4.
Configuré primario_hostname […] en /etc/exim4/exim4.conf.template
Como 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 sería PRIMARY_HOST_NAME
en configuración monolítica exim4.