Estou tentando enviar mails usando o servidor de Smtp do gmail do meu aplicativo de asp.net.Mas estou recebendo erro como abaixo.
System.NET.mail.SmtpException: Falha ao enviar email. -> System.Net.WebException: não é possível conectar ao servidor remoto-> System.Net.Sockets.SocketException: uma tentativa de conexão falhada porque a parte conectada corretamente não deu uma resposta após um período de tempo ou a conexão estabelecida falhada porque conectado anfitrião não respondeu 202.86.4.47:587 no System.Net.Sockets.Socket.DoConnect (ponto de extremidade endPointSnapshot, SocketAddress socketAddress) em System.Net.Sockets.Socket.InternalConnect (EndPoint remoteEP) em System.Net.ServicePoint.ConnectSocketInternal (Boolean connectFailure, soquete s4, soquete s6, soquete & soquete, endereço IP & endereço, ConnectSocketState EstadoIAsyncResult asyncResult, tempo limite de Int32, exceção & exceção)
Aqui está o código:
Cadeia de caracteres from = "fromaddress@gmail.com";
Cadeia de caracteres para = "toaddress@gmail.com";
System.NET.mail.MailMessage email = novo System.Net.Mail.MailMessage();
correio.To.Add(to);
correio.From = new MailAddress (de, "um fantasma", System.Text.Encoding.UTF8);
correio.Assunto = "Este é um email teste";
correio.SubjectEncoding = System.Text.Encoding.UTF8;
correio.Corpo = "Este é Email corpo de texto";
correio.BodyEncoding = System.Text.Encoding.UTF8;
correio.IsBodyHtml = true;
correio.Prioridade = MailPriority.High;
SmtpClient client = novo SmtpClient();
cliente.UseDefaultCredentials = false;
//Add o uso de Creddentials sua própria id de e-mail e senha
cliente.Credenciais = new System.Net.NetworkCredential (de, "mygmailpassword");
cliente.Port = 587; / / Gmail funciona nesta porta
cliente.Anfitrião = "smtp.gmail.com";
cliente.EnableSsl = verdadeiro; //Gmail funciona na camada de servidor protegido
Tente
{
cliente.Send(mail);
}
} catch (Exception ex)
{
Ex2 exceção = ex;
String errorMessage = string.Vazio;
enquanto (ex2! = null)
{
errorMessage + = ex2.ToString ();
EX2 = ex2.InnerException;
}
HttpContext.Current.Response.Write (errorMessage);
} / / fim tente mesmo problema sobre como alterar a porta não...
Esse código está funcionando bem na minha máquina em minha casa, mas ele não está funcionando no meu gabinete.Pode ser que isso é problema com o proxy.