Exatamente, a solução pra esse erro bizarro. Quantas vezes você já viu esse erro?
Eu tive uma sexta-feira interessante. Foi o último dia com uma turma onde eu tive que substituir o instrutor. Eles tiveram alguns problemas com ele e eu fui o escolhido para a substituição. Tudo correu bem. Depois eu fui olhar o log de erros do meu blog (eu uso Elmah, a propósito) e vi um erro que nunca tinha visto antes:
System.Net.Mail.SmtpException
Error in processing. The server response was: Greylisted, please try again in 240 seconds
O tempo varia mas, depois de procurar no google por alguns instantes, achei a solução. Meu servidor tinha implementado algo chamado Greylisting que, de acordo com a Wikipedia, é uma maneira de defender os usuários de e-mail contra spam. Logo, e-mails não reconhecidos pelo sistema são automaticamente rejeitados por um tempo.
Como corrigir?
Tudo que precisei fazer foi criar uma conta de e-mail no meu servidor e adiciona-la no meu web.config da seguinte maneira:
<system.net> <mailSettings> <smtp> <network defaultCredentials="false" host="Mail@DomainName.com" port="25" userName="username@DomainName.com" password="ThisIsAPassword"/> </smtp> </mailSettings> </system.net>
Obviamente você precisa colocar seu próprio host, username e password. :-)
E é isso.
Em tempo: A solução eu achei aqui here.
<system.net> <mailSettings> <smtp> <network defaultCredentials="false" host="mail.davidsonsousa.net" port="25" userName="contact@davidsonsousa.net" password="D#sousa12"/> </smtp> </mailSettings> </system.net>