Inquiridor
System.Net.Mail.SmtpException: Failure sending mail

Pergunta
-
Todas as Respostas
-
Boa Tarde AlexandreIpanema,
Seu código está similar ao do seguinte exemplo?
http://code.msdn.microsoft.com/Envio-de-E-mail-em-C-84c68ce6
caso não, tente adaptar para ficar similar, e caso o erro persista, poste o código que está utilizando para que possamos analisar melhor.
Att,
Julio Arruda
______________________________________________
Caso resolva seu problema, marque como resposta
- Sugerido como Resposta Julio ArrudaMVP segunda-feira, 8 de julho de 2013 19:36
-
estou usando esse código, e quando envio localmente na minha máquina o email é enviado normalmente, porém quando uso o servidor IIS não vai, veja meu código:
System.Net.NetworkCredential credencial = new System.Net.NetworkCredential();
credencial.UserName = "aqui vai meu usuario do terra";
credencial.Password = "aqui vai a senha do terra";
MailAddress meuEmail = new MailAddress("aqui vai meu email do terra");
MailAddress emailDestino = new MailAddress(para);
MailMessage email = new MailMessage(meuEmail,emailDestino);
email.Body = msg;
email.Subject = assunto;
email.IsBodyHtml = true;
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.sao.terra.com.br");
smtp.Credentials = new System.Net.NetworkCredential(credencial.UserName, credencial.Password);
try
{
smtp.Send(email);
return "Email enviado com sucesso!";
}
catch (Exception ex)
{
return ex.Message;
} -
Mudei para esse código abaixo agora e está com o mesmo erro, ou seja quando envio localmente é enviado normalmente, mas quando coloco na servidor IIS não vai:
try
{
MailMessage mailMessage = new MailMessage();
//Endereço que irá aparecer no e-mail do usuário
mailMessage.From = new MailAddress("meu email aqui", "Fale Conosco");
//destinatarios do e-mail, para incluir mais de um basta separar por ponto e virgula
mailMessage.To.Add(para);
mailMessage.Subject = assunto;
mailMessage.IsBodyHtml = true;
//conteudo do corpo do e-mail
mailMessage.Body = msg;
mailMessage.Priority = MailPriority.High;
//smtp do e-mail que irá enviar
SmtpClient smtpClient = new SmtpClient("smtp.sao.terra.com.br");
smtpClient.EnableSsl = false;
//credenciais da conta que utilizará para enviar o e-mail
smtpClient.Credentials = new NetworkCredential("meu usuario no terra", "minha senha no terra");
smtpClient.Send(mailMessage);
return "";
}
catch (Exception ex)
{
return "Erro: " + ex.Message;
} -
Boa noite AlexandreIpanema,
Acredito que não seja problema com relação ao seu código, mas a meu ver pode ser um das seguintes opções, que devem ser verificados:
1 - Bloqueio no proxy/rede referente ao provedor de e-mail. Por exemplo: bloqueio de acesso ao gmail, gera bloqueio para acessar o smtp do gmail.
2-) Incorreta especificação do parâmetro referente à porta, propriedade da classe SmptClient. PS: Normalmente é a porta 25 ou 587
3-) Bloqueio ou restrição na rede quanto à porta.
4-) Limitações do provedor de e-mail quanto à quantidade de e-mails enviada dentro de um intervalo de tempo.
Att,
Alexandre F. Malavasi
-
todos os itens que informou já verifiquei:
1- não usa proxy e firewall está desabilitado
2- já tentei com essas duas portas e também sem especificar a porta
3- não tem restrição para a porta na rede
4- mudei o tempo de envio no teste mais mesmo assim não envia
obrigado pela ajuda mais ainda estou com o problema....
-
todos os itens que informou já verifiquei:
1- não usa proxy e firewall está desabilitado
2- já tentei com essas duas portas e também sem especificar a porta
3- não tem restrição para a porta na rede
4- mudei o tempo de envio no teste mais mesmo assim não envia
obrigado pela ajuda mais ainda estou com o problema....
Cara, e os campos de e-mail, vc esta colocando o mesmo endereço nos dois?
mailMessage.From = new MailAddress("meu email aqui", "Fale Conosco");
smtpClient.Credentials = new NetworkCredential("meu usuario no terra", "minha senha no terra");
try { MailMessage mailMessage = new MailMessage(); //Endereço que irá aparecer no e-mail do usuário mailMessage.From = new MailAddress("meu email aqui", "Fale Conosco"); //destinatarios do e-mail, para incluir mais de um basta separar por ponto e virgula mailMessage.To.Add(para); mailMessage.Subject = assunto; mailMessage.IsBodyHtml = true; //conteudo do corpo do e-mail mailMessage.Body = msg; mailMessage.Priority = MailPriority.High; //smtp do e-mail que irá enviar SmtpClient smtpClient = new SmtpClient("smtp.sao.terra.com.br"); smtpClient.EnableSsl = false; //credenciais da conta que utilizará para enviar o e-mail smtpClient.Credentials = new NetworkCredential("meu usuario no terra", "minha senha no terra"); smtpClient.Send(mailMessage); return ""; } catch (Exception ex) { return "Erro: " + ex.Message; }
Se quiser me enviar um e-mail para conversamos melhor, é: julio.arruda@outlook.com
Att,
Julio Arruda
____________________________________
Se foi útil, marque como resposta
- Sugerido como Resposta Julio ArrudaMVP quarta-feira, 10 de julho de 2013 18:53
-
sim coloco o mesmo endereço de email, e ai está com o erro:System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 208.84.244.140:587 at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) --- End of inner exception stack trace --- at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port) at System.Net.Mail.SmtpClient.Send(MailMessage message) --- End of inner exception stack trace --- at System.Net.Mail.SmtpClient.Send(MailMessage message) at Mail.Enviar(String para, String cc, String de, String assunto, String msg, String Anexo, Boolean UsaLayout)