Caixa de correio indisponível. A resposta do servidor foi: 5.7.1 Incapaz de retransmitir para [email protected] [fechado]

84

Estou recebendo " Caixa de correio indisponível. A resposta do servidor foi: 5.7.1 Não é possível retransmitir para [email protected] " 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?

Vinod T. Patil
fonte
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.
Vinod T. Patil
fonte
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.

Christopher Klein
fonte
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.

Mick Byrne
fonte
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

Lee Englestone
fonte
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.

NikG
fonte
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>
patrickbadley
fonte
2

Se você tiver o Exchange 2010 :

(No meu caso, a mensagem de erro não continha "para [email protected]")

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 "[email protected]" -To "[email protected]" -Subject "Test Email" -Body "This is a test"
Todd
fonte
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.

Morpheus
fonte