O Postfix não envia e-mails, reclamando de "Host ou nome de domínio não encontrado"

10

Segui estas instruções para enviar e-mails e aqui está o log do Postfix:

Sep 26 00:46:24 tshepang postfix/smtpd[5728]: 8EE2464931: client=localhost[127.0.0.1]
Sep 26 00:47:44 tshepang postfix/cleanup[5810]: 8EE2464931: message-id=<20110925224624.8EE2464931@tshepang>
Sep 26 00:47:44 tshepang postfix/qmgr[5772]: 8EE2464931: from=<[email protected]>, size=350, nrcpt=1 (queue active)
Sep 26 00:48:04 tshepang postfix/smtp[5859]: 8EE2464931: to=<[email protected]>, relay=none, delay=127, delays=107/0.01/20/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=gmail.com type=MX: Host not found, try again)
Sep 26 00:48:39 tshepang postfix/smtpd[5728]: disconnect from localhost[127.0.0.1]

Além disso, isso pode ser relevante (em " /etc/postfix/main.cf "):

myhostname = tshepang
mydestination = tshepang, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
inet_interfaces = all
inet_protocols = all

Estou executando isso no Debian 6.

tshepang
fonte
Verifique se /etc/resolv.confhá resolvedores inválidos / que não respondem. Tente fazer um host gmail.com; veja se você obtém resultados.
Laebshade
host gmail.comcede gmail.com has address 74.125.233.24na linha e depois ;; connection timed out; no servers could be reachedna segunda. Mas é estranho, porque eu posso fazer ping.
tshepang 26/09/11
3
Que tal host -t mx gmail.com? Você está certo, porém, isso é um pouco estranho.
Shadur
1
Outro pensamento: você pode adicionar seu /etc/resolv.conf à pergunta?
Shadur
1
Sim. Os sinais apontam para um desonesto resolv.conf, possivelmente devido a network-managerou resolvconfnão jogar bola.
Shadur

Respostas:

4

Impulsionando algumas perguntas mencionadas nos comentários que podem ajudar a descobrir o que está acontecendo:

  • Você pode adicionar o seu /etc/resolv.confà pergunta? A saída da qual você descreve host gmail.comé um pouco suspeita e pode indicar um problema no seu servidor de nomes.

  • Que resposta, se houver, você recebe do comando host -t mx gmail.com?

  • Você enviou e-mails com sucesso para outros sistemas deste computador?

  • Seu ISP possui algum tipo de política explícita que exige que você use o servidor deles como retransmissão de email? Se o fizerem, um firewall bloqueando as solicitações de pesquisa do MX pode explicar o comportamento estranho do host gmail.comtempo limite após obter um resultado correto parcial.

Shadur
fonte
Eu concordo com isto. Parece mais um problema de DNS do que um problema com o Postifx (especialmente por causa do no servers could be reachederro de host).
bahamat
4

Eu costumava ter o mesmo problema:

root@medusa:~# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
079AC700080B      357 Wed Apr  3 13:47:47  [email protected]
(Host or domain name not found. Name service error for name=xxxx.cz type=MX: Host not found, try again)
                                         [email protected]

..

root@medusa:~# host -t MX xxxx.cz
xxxx.cz mail is handled by 10 e2sgw01.xxxx.cz.
xxxx.cz mail is handled by 10 e2sgw02.xxxx.cz.

..

root@medusa:~# telnet e2sgw01.xxxx.cz. 25
Trying 217.77.161.168...
Connected to e2sgw01.xxxx.cz.
Escape character is '^]'.
220 e2sgw01.xxxx.cz ESMTP Postfix

O problema estava no arquivo /var/spool/postfix/etc/resolv.conf (o chrootado). Dê uma olhada nisso.

tloudev
fonte
1

Tente desativar a propriedade chroot , para que não seja alterada, /etc/postfix/master.cfconforme documentado aqui

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd

para

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
Philippe Gachoud
fonte
0

Parece que você está atrás de um proxy: o endereço gmail.com foi resolvido, mas o comando ping não é bem-sucedido. Você pode tentar conectar diretamente o SMTP do gmail com:

nc -w 1 gmail.com 25 ; echo $?

se ecoar "1", você não poderá se conectar, provavelmente a causa da filtragem de segurança.

Arcadien
fonte
0

Como o @Shadur apontou, esse problema pode ser causado pelo seu ISP (ou pela rede em que o servidor está instalado). Se houver restrições de segurança na porta SMTP (número da porta 25), os servidores MX não poderão ser alcançados por essa porta.

Você pode tentar usar a porta SMTP sobre SSL (ssmtp, número da porta 465). Para fazer isso, edite o /etc/postfix/master.cfarquivo, comente a linha smtp e adicione uma linha ssmtp:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
#smtp      inet  n       -       -       -       -       smtpd
ssmtp      inet  n       -       -       -       -       smtpd

Para verificar se esta postagem é reconhecida com esse nome na sua máquina, você pode:

$>cat /etc/services | grep smtp
smtp        25/tcp      mail
ssmtp       465/tcp     smtps       # SMTP over SSL
Fabien Quatravaux
fonte