Problemas ao enviar e-mail usando o SmtpClient do .Net

2

Eu tenho procurado perguntas sobre Stackoverflow e Serverfault, mas não encontrei o mesmo problema mencionado - embora isso possa ser porque eu não sei o suficiente sobre como o email funciona para entender que algumas das perguntas são realmente mesmo que o meu ... aqui está a minha situação:

Eu tenho um aplicativo da web que usa o SmtpClient do .Net para enviar e-mail. A configuração do SmtpClient usa um servidor smtp, nome de usuário e senha. O código SmtpClient é executado em um servidor que possui um endereço IP que não está no domínio em que o servidor smtp está.

Na maioria dos casos, os e-mails ficam sem problema - mas não na AOL (e talvez em outros - mas agora sabemos disso com certeza).

Quando eu olho para os cabeçalhos na mensagem que foi retrocedida da AOL, ela tem uma linha a menos que as mensagens bem-sucedidas que o hotmail recebe:

Mensagem ruim da AOL:

Received: from WEBSVRNAME ([##.###.###.###]) by domainofsmtp.com with MailEnable ESMTP; Mon, 18 Jun 2012 09:48:24 -0500
MIME-Version: 1.0
From: "[email protected]" <[email protected]>
...

Boa mensagem do Hotmail:

Received: from mail.domainofsmtp.com ([###.###.###.###]) by subdomainsof.hotmail.com with Microsoft SMTPSVC(6.0.3790.4900); Thu, 21 Jun 2012 09:29:13 -0700
Received: from WEBSVRNAME ([##.###.###.###]) by domainofsmtp.com with MailEnable ESMTP; Thu, 21 Jun 2012 11:29:03 -0500
MIME-Version: 1.0
From: "[email protected]" <[email protected]>
...

Observe que os cabeçalhos das mensagens do hotmail têm uma linha adicional.

Estou confuso sobre por que o nome do servidor Web e o endereço IP estão nos cabeçalhos, já que pensei em usar o SmtpClient para passar pelo servidor SMTP (daí a necessidade do nome de usuário e senha de uma caixa de email válida ).

Eu li sobre SPFs, DKIM e SenderID, mas neste momento não tenho certeza se precisaria fazer algo com o servidor web (e seu ip / domain) ou o domínio do qual o smtp é proveniente. Alguém já teve que fazer algo parecido antes?

Estou usando o servidor SMTP como um relé? Qualquer ajuda sobre como descrever o que estou fazendo também ajudaria.

    
por Jason Haley 22.06.2012 / 02:19

2 respostas

3

Aqui estão algumas coisas que você pode fazer para solucionar seu problema com a AOL e outros:

Primeiro, saiba que a AOL e outras usam métodos para evitar spam, como recusando e-mails de domínios de e-mail que não possuem um registro de pesquisa inversa , graylisting ou usando Registros SPF . Você deve verificar cada um deles. O graylisting retornaria um erro quando o método smtpclient send fosse executado.

Em seguida, se você puder verificar o servidor que está executando o método send para ver se está causando erros ou se erros estão sendo ignorados em um bloco try catch.

Além disso, você pode fazer telnet para seu servidor SMTP e fazer um teste EHLO para ver se consegue visualizar problemas.

Veja mais informações sobre a política de bloqueio da AOL aqui: link

Outros domínios de e-mail podem usar métodos semelhantes para evitar spam, por isso talvez seja necessário seguir a mesma solução de problemas com esses também.

    
por 27.06.2012 / 13:12
1

Alguns pontos:

Por padrão, a maioria dos servidores SMTP inclui um cabeçalho Received: para o host de origem, mesmo que não seja um servidor SMTP.

Sempre que você enviar uma mensagem através de um servidor SMTP, você a usará como retransmissão.

A maioria dos filtros de spam analisa todos os cabeçalhos Recebidos :. Cada um deles geralmente é executado por meio de uma lista negra e verificado pela validade do mapeamento reverso, bem como pelas chaves de domínio e pelas verificações de SPF. Portanto, você precisará garantir que ambos sejam permitidos em seu registro SPF e tenham um mapeamento reverso válido, e que nenhum deles esteja listado em uma lista negra.

Eu suspeito que a diferença que você está vendo é que a AOL não adicionou um cabeçalho Received: referenciando seu servidor de e-mail porque ele retornou a mensagem (como a terminologia sugere, esse cabeçalho é adicionado por cada servidor pela qual a mensagem passa para indicar quem foi recebido do passado). Parece que o servidor SMTP do Hotmail adicionou-o neste caso. Isso não é realmente importante para fins de solução de problemas.

    
por 02.07.2012 / 02:26

Tags