Entrega temporariamente suspensa: nome do host ou do domínio não encontrado

3

Eu tenho dois domínios independentes ad.vz e ad2.vz, há um gateway entre eles. Existem 3 servidores de postfix:

  • mailad.ad.vz - servidor postfix no primeiro domínio
  • mailsh - gateway com postfix e dois adaptadores de rede
  • mailinet.ad2.vz - servidor postfix no segundo domínio

O Mailsh pode se conectar de uma só vez com uma área de rede. Há relé de trabalho, que aumenta / diminui a cada 30 segundos. Eu começo o teste de estresse no mailad que envia 20 letras, 500 KB a cada 30 segundos. Às vezes, a fila começa a se acumular. Eu posso ver no maillog a seguinte mensagem:

Sep  4 08:51:01 mailsh postfix/error[9602]: CFA5E131A7: to=<[email protected]>, relay=none, delay=33, delays=32/0/0/0, dsn=4.4.3, status=deferred (delivery temporarily suspended: Host or domain name not found. Name service error for name=mailinet.ad.vz type=MX: Host not found, try again)"

Toda vez que o adaptador aparece, eu mando o comando postqueue -f

Por que a fila pode se acumular?

mailad postconf:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = vzavod.ru
myhostname = mailad.vzavod.ru
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
transport settings:
vzavod.ru   local
*       smtp:mailsh.ad.vz

mailsh postconf:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = vzavod.ru
myhostname = mailsh.vzavod.ru
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550

configurações de transporte:

*       smtp:mailinet.ad.vz
vzavod.ru   smtp:mailad.ad.vz
    
por Kirill 04.09.2014 / 14:40

1 resposta

3

Parece que sua situação parece semelhante ao cenário deste artigo: postfix na máquina discada .

Extraído desse artigo, aqui algumas considerações.

  • Desabilite a entrega de e-mail SMTP espontânea (se estiver usando apenas o IP discado sob demanda).

    Com o parâmetro abaixo, o postfix não tentará enviar um email, a menos que você execute postqueue -f manualmente. Coloque este parâmetro em main.cf . Mais informações em aqui .

    defer_transports = smtp # (Only for on-demand dialup IP hosts)
    
  • Desativar pesquisas de DNS do cliente SMTP (somente LAN discada).

    Desativar pesquisas de DNS nos clientes SMTP e LMTP do Postfix. Quando desativado, os hosts são consultados com a rotina da biblioteca do sistema getaddrinfo (), que normalmente também procura em / etc / hosts . Portanto, coloque a entrada de mailad.ad.vz on /etc/hosts . Por exemplo

    # echo "192.168.1.99  mailad.ad.vz" >> /etc/hosts
    

    E adicione este parâmetro em main.cf

    disable_dns_lookups = yes #(Only for on-demand dialup IP hosts)
    
por 08.09.2014 / 05:05