Quando o exim4 envia HELO / EHLO, como configuro qual nome de host ele envia?

12

Os e-mails do meu sistema estão sendo rejeitados quando o servidor de recebimento faz a verificação HELO. Acredito que meu sistema está enviando o nome de domínio errado. Estou executando o exim4. Pesquisar no Google qualquer coisa sobre exim4 e domínios gera uma lista de pesadelos de resultados irrelevantes. Da mesma forma, pesquisar por rejeições do HELO no Google gera uma horda de usuários do Outlook que precisam ativar a autenticação SMTP. Pela minha vida, não consigo descobrir esta pergunta simples: qual hostname o exim está enviando e como faço para alterá-lo?

Infelizmente, não consigo ver o que o exim está enviando por fio, então não tenho como depurar isso sozinho. Espero que alguém tenha tido esse problema e apenas saiba :).


fonte

Respostas:

15

Supondo que o erro esteja reclamando dos dados HELO / EHLO, você deseja usar a opção helo_data no transporte smtp. O padrão é $ primary_hostname.

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

Mais informações estão disponíveis no manual .

Se não for esse o caso, você provavelmente deseja incluir alguns exemplos de mensagens de rejeição. Apenas o código de três dígitos e a sequência depois disso.

David Pashley
fonte
Obrigado! Após mais 10 minutos de leitura sobre como alterar uma configuração do exim4 em um sistema baseado em debian, eu configurei primary_hostname para o FQDN em /etc/exim4/exim4.conf.template e reiniciei o exim4. Isso fez o truque! Meu nome de host é diferente do FQDN e não estou usando minimal_dns, portanto, o problema original. Além disso, apenas modificando seu link manual eu consegui encontrar os documentos no primary_hostname (o exim é tão lixo no Google!). Obrigado novamente!
Você provavelmente não deseja atualizar esse arquivo. Eu recomendaria executar update-exim4.conf --keepcomments e, em seguida, copie /var/lib/exim4/config.autogenerated para /etc/exim4/exim4.conf e modifique esse arquivo.
18119 David Pashley
4

O comando

sudo dpkg-reconfigure exim4-config

deve solicitar o nome do host principal a ser usado.

David North
fonte
3

No Debian (Lenny), descobri que você definiu o nome do host, /etc/hostnamemas isso não é reconhecido até a reinicialização.

$ hostname newhostname

define-o imediatamente (mas é perdido na reinicialização, então você deve fazer os dois).

O exim4 parece relatar o mesmo que uname -n, e achei uma maneira útil de testar.

Robô astuto rico
fonte
2

Qual hostname o exim está enviando?

Pode-se encontrar o nome HELO nos registros do exim4. Pare o daemon exim4 e, em seguida, reinicie-o manualmente com a depuração ativada:

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

(a 2>&1|egrep 'HELO|EHLO'peça é opcional, apenas redireciona stderr para stdout e, em seguida, canaliza o log para egrep, que filtrará tudo, exceto as linhas que contêm HELO ou EHLO).

Envie um email e deve haver uma ou duas linhas no seguinte formato:

SMTP>> EHLO foobar.example.com

O nome HELO é foobar.example.com.

Existem também várias ferramentas úteis de verificação on-line que fornecem essas informações (e muitas outras úteis), por exemplo:

Como eu mudo isso?

Em vez de editar o arquivo de transporte, conforme sugerido por David, prefiro usar as definições constantes do exim4 (?) E definir o nome /etc/exim4/conf.d/main/00_local_settings(na configuração dividida), por exemplo:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Não se esqueça de executar update-exim4.confantes para reiniciar o exim4.

Defino primary_hostname […] em /etc/exim4/exim4.conf.template

Como mencionado por David, essa provavelmente não é a melhor idéia. Na configuração dividida, você pode definir o nome do host principal adicionando

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

no /etc/exim4/conf.d/main/00_local_settings. Parece que seria PRIMARY_HOST_NAMEna configuração exim4 monolítica.

Skippy le Grand Gourou
fonte
0

A configuração desejada é chamada primary_hostname .

Para depuração, você pode usar

tcpdump -A port 25

para assistir o tráfego SMTP em ASCII.

brian-brazil
fonte