Este erro de SMTP pode ser culpa do desenvolvedor?

Este erro de SMTP pode ser culpa do desenvolvedor?

Recebi uma mensagem de erro de um site que parece ser algo errado com o lado do servidor. No entanto, este servidor funciona para todos os outros sites da caixa. Existe a possibilidade de eu (desenvolvedor) estar fazendo algo errado? Não tenho ideia de por onde começar para rastrear isso no servidor e meu administrador de sistema diz que tudo parece normal:

The following recipient(s) cannot be reached:
  Customer Service Account on 6/3/2009 11:00 AM
         There was a SMTP communication problem with the
recipient's email server.  Please
contact your system administrator.
<fgdc.myservername.net #5.5.0 smtp;550 Requested action not taken: mailbox unavailable>

O servidor é 2003, 64 bits e executa o Exchange 2003

O site é Asp.Net C#, usando roteamento de URL

Onde eu começaria a solucionar isso?


ATUALIZAR

Acontece que meu administrador de sistema atribuiu o problema a uma camada de proteção contra spam. Acontece que o MIMESweeper pode estar jogando a mensagem fora, pois vê a mensagem do nosso farm de servidores web tentando enviar um e-mail com um endereço interno. Testamos endereços externos (gmail, hotmail, etc) e funcionou bem.

Obrigado por todas as respostas. Acontece que a melhor resposta foi "Fale com o administrador do sistema" na minha perspectiva... mas pensei em atualizar a pergunta para qualquer pessoa com algo semelhante.

Responder1

Esse é o servidor dizendo que quem você especificou como "RCPT TO:" não é válido.

Eu recomendo que você use algo como o Wireshark para capturar a conversa SMTP entre seu código e o servidor e verificar se está enviando o que espera, para começar. É sempre bom ver o que está acontecendo na rede e ver se isso está de acordo com o que seu código diz que deveria estar acontecendo.

Se você estiver especificando o destinatário correto, entre em contato com o administrador do servidor e peça para eles verificarem.

Responder2

Claro, isso pode ser culpa do desenvolvedor. Por exemplo, a especificação diz que o RCPT deve ficar assim:

RCPT TO:<[email protected]>

No entanto, é uma prática muito comum enviar isto:

RCPT TO: [email protected]

A maioria dos MTAs maduros e completos aceitam o último, embora não seja estritamente correto. Alguns aplicativos (como firewalls de e-mail, coletores de e-mail de CRM, etc.) serão rigorosos quanto a isso e retornarão um erro.

Não estou dizendo que essa seja a causa neste caso, mas é um exemplo de como seu código poderia funcionar com a maioria dos servidores, mas ainda assim a culpa seria sua se ele quebrar em uma pequena porcentagem de servidores.

Apoio a recomendação de Evan de farejar o tráfego e entender o que realmente está sendo enviado.

Responder3

Você pode enviar e-mail para o endereço de e-mail em questão usando armas convencionais, por assim dizer? Se sim, provavelmente é o seu código. Caso contrário, é o servidor deles (ou possivelmente um firewall que tenta fazer o smarthost para o servidor).

Responder4

Caso você esteja se perguntando, este é o site serverfault. Se o seu administrador de sistema disse que é o código, é o código. Os erros são sempre culpa dos desenvolvedores. Se você quiser culpar o administrador do sistema, ouvi dizer que existe um site chamado stackoverflow que pode ser mais simpático :)

Com toda a seriedade, sim, é o código. De acordo com o erro o receitante é inválido. De alguma forma, o servidor da web está tentando enviar e-mail para uma conta chamada "Conta de atendimento ao cliente". Todos os endereços de e-mail estão no formato de[e-mail protegido]. O fato de você ter recebido um erro 550 mostra que você se conectou corretamente ao servidor de e-mail de destino, mas não há nenhum usuário chamado "Conta de Atendimento ao Cliente"

Tecnicamente, 550 significa que não foi possível retransmitir, mas suponho que você esteja tentando enviar para uma caixa de correio interna. Mesmo se você estiver tentando retransmitir, este destinatário não está formatado corretamente.

informação relacionada