Caixa de correio indisponível. A resposta do servidor foi: 5.7.1 Incapaz de retransmitir para abc@xyz.com [fechado]


84

Estou recebendo " Caixa de correio indisponível. A resposta do servidor foi: 5.7.1 Não é possível retransmitir para abc@xyz.com " quando tento enviar o e-mail usando ASP.NET. O site é implantado em IIS7, servidor Windows 2008.

O site estava funcionando bem no IIS6 e no Windows 2003 Server . Eu o implantei no IIS7, 2008, ele começou a me apresentar este erro.

Alguém já experimentou isso antes?


possível duplicata da caixa
— Tomas Kubes

Stack Overflow é um site para questões de programação e desenvolvimento. Use outro site na rede Stack Exchange .
— jww

Respostas:


115

Aahh entendi ... comecei a funcionar :)

Obrigado Christopher, sua sugestão está correta.

Mas encontrar "Servidor Virtual SMTP Padrão" foi complicado;)

Mesmo que você use o IIS7 para implantar seu site, é necessário abrir o Gerenciador do IIS6 para configurar o servidor SMTP (por quê?).

Configurei o servidor SMTP da seguinte forma para fazer as coisas funcionarem:

  1. Abra o Gerenciador do IIS6 usando o Painel de Controle -> Ferramentas Administrativas.
  2. Abra as propriedades do servidor virtual SMTP.
  3. Na guia Geral, defina o endereço IP do servidor da Web em vez de "Todos não atribuídos".
  4. Na guia Access, clique no botão Relay, isso abrirá a caixa de diálogo Relay Restrictions.
  5. Na lista de computadores de retransmissão, adicione o endereço IP de loopback, ou seja, 127.0.0.1 e o endereço IP do servidor da Web, para que eles possam passar / retransmitir emails através do servidor SMTP.

3
A razão pela qual isso precisa ser gerenciado no IIS 6 é porque o IIS 7.X não tem seu próprio componente de servidor SMTP, então ele usa o IIS 6.
— MemeDeveloper

5
No meu web.config eu estava me referindo ao meu servidor smtp pelo nome "localhost". Se eu seguisse a etapa 3, essa solução falhou; se eu omitir a etapa 3, funcionou. Obrigado :)
— Paul Suart

1
Isso também se aplica ao IIS8 e ao servidor 2012
— Isaac Bolinger

Estamos usando uma retransmissão para enviar emails por meio de uma conta em nosso Office 365. Ainda preciso instalar o servidor smtp no IIS 6, embora não estejamos usando o servidor smtp do servidor web. Isso ocorre em um Windows Server 2016 com IIS 10. Alguém tem alguma sugestão ou solução para esse problema? Agradeço antecipadamente!
— Nathan

Muito obrigado! Resolveu meu problema.
— Nanou Ponette

20

aqui está a resposta ... Configurações do IIS

IIS -> Servidor virtual SMTP padrão -> Propriedades -> Acesso -> Restrições de retransmissão, basta adicionar ou excluir os IPs importantes para resolver o problema.


2
onde está "Servidor virtual SMTP padrão"? Estou usando o IIS7. No IIS6 há "Servidor Virtual SMTP", mas no IIS e não é?
— Vinod T. Patil

18

Eu estava enfrentando o mesmo problema e segui as etapas (muito claramente definidas) na resposta de Vinod, no entanto, isso criou um erro diferente:

Incapaz de ler dados da conexão de transporte: net_io_connectionclosed

Fiz um pouco mais de pesquisa e pesquisa e (embora não tenha certeza de por que isso funcionou) resolvi:
- Voltando ao console de gerenciamento do IIS6.0
- Abra as propriedades do servidor virtual SMTP
- Na guia Geral, alterando o 'IP Endereço: 'configuração de volta para' (Todos não atribuídos) '

Não sei por que isso funciona, mas espero que ajude alguém que enfrente o mesmo problema no futuro.


15

Como uma imagem vale mais que mil palavras ..

Quando você encontrar o gerenciador IIS6 (descobri que a pesquisa de IIS pode retornar 2 resultados) vá para as propriedades do servidor SMTP, em seguida, 'Acesso' e pressione o botão de retransmissão.

Em seguida, você pode selecionar todos ou permitir apenas determinados IPs, como 127.0.0.1

Retransmissão SMTP


5

Obrigado ao Vinod pela resposta bem apresentada.

Recebi o mesmo erro de Mick Byrne ao seguir as etapas acima. Voltar para Todos os não atribuídos resolveu, mas tive que ajustar algumas outras coisas também:

  • Adicione o usuário sob o qual meu site estava sendo executado aos usuários na guia Segurança no Servidor Virtual SMTP.
  • Alterado o valor no atributo mailSettings> rede> host em meu web.config para o IP do servidor específico (por exemplo 192.168.100.120) em oposição ao localhost (que estava apontando para 127.0.0.1 no arquivo hosts).

Espero que isso poupe alguns minutos de confusão.


4

Consegui corrigir esse problema alterando as configurações de e-mail na parte system.net do meu web.config:

<mailSettings>
    <smtp deliveryMethod="Network">
        <network host="yourserver" defaultCredentials="true"/>
    </smtp>
</mailSettings>

2

Se você tiver o Exchange 2010 :

(No meu caso, a mensagem de erro não continha "para abc@xyz.com")

Isso mostra como adicionar um conector de recebimento: http://exchangeserverpro.com/how-to-configure-a-relay-connector-for-exchange-server-2010/

Mas também precisei realizar uma etapa encontrada aqui: http://recover-email.blogspot.com.au/2013/12/how-to-solve-exchange-smtp-server-error.html

  • Vá para Exchange Management Shell e execute o comando
  • Get-ReceiveConnector "JiraTest" | Add-ADPermission -User "NT AUTHORITY \ ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient"

Enquanto trabalhava nisso, executei o seguinte no console do PowerShell do servidor afetado até o erro desaparecer:

Send-MailMessage -From "myemail@server.com.au" -To "myemail@server.com.au" -Subject "Test Email" -Body "This is a test"

1

Queria compartilhar o que causou o erro no meu caso. Gaste algumas horas para descobrir isso, então espero que ajude alguém a economizar algum tempo.

Estranhamente, o erro foi gerado com a Enable drop directory quotaconfiguração sendo habilitada para o domínio.

insira a descrição da imagem aqui

Não sou o especialista e não sei a explicação técnica, mas desmarcar a configuração mencionada resolveu o problema.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.