It tries to use this function ready that I use and does not give error, only if it is problem of its user.
public class EmailServerAccount
{
public string EmailOrigem { get; set; }
public string NomeOrigem { get; set; }
public string Server { get; set; }
public int Port { get; set; }
public string User { get; set; }
public string Pass { get; set; }
public string Retorno { get; set; }
public Boolean Autentica { get; set; }
}
public static string EnviarMensagem(EmailServerAccount conta, string[] destino, string[] emailcc, string mensagem, string titulo, string anexo)
{
string para = destino[0];
if (String.IsNullOrEmpty(para))
{
return "Erro sem e-mail ! Assunto:" + titulo;
}
if (conta == null)
return "Erro, conta de e-mail não existente !";
MailMessage message = new MailMessage();
message.From = new MailAddress(conta.EmailOrigem, conta.NomeOrigem);
message.ReplyToList.Add(new MailAddress(conta.Retorno));
string[] emaildestino = para.Split(';');
//Destinatário
foreach (string vEmailP in emaildestino)
{
message.To.Add(new MailAddress(vEmailP));
}
// message.To.Add(new MailAddress(""));
//prioridade do email
message.Priority = MailPriority.Normal;
//utilize true pra ativar html no conteúdo do email, ou false, para somente texto
message.IsBodyHtml = true;
//Assunto do email
message.Subject = titulo;
//corpo do email a ser enviado
message.Body = mensagem;
// Envia a mensagem
SmtpClient client = new SmtpClient(conta.Server, conta.Port);
Boolean ssl = conta.Autentica;
client.EnableSsl = ssl;
// Insere as credenciais se o Servidor SMTP exigir
/// client.Credentials = CredentialCache.DefaultNetworkCredentials;
//endereço do servidor SMTP(para mais detalhes leia abaixo do código)
client.Host = conta.Server;
//para envio de email autenticado, coloque login e senha de seu servidor de email
//para detalhes leia abaixo do código
client.Credentials = new NetworkCredential(conta.EmailOrigem, conta.Pass);
try
{
client.Send(message);
return "";
}
catch (Exception ex)
{
return " Erro no envio de email para ! " + para + "\r\n" + " " + ex.Message + " - " + ex.StackTrace + System.Environment.NewLine;
}
}
By chance this code stays on View? Why don’t you launch the exception to see the error message?
– Leonel Sanches da Silva
Desalex, when I used virtual/local IIS, running via debug/locally, never sent email (return message: Failed to connect server). I uploaded my application to the host, from there the email went perfectly. Via debug/locally I could never send. It may be some IIS trust, but I never checked.
– Castro JR
the exception is this: System.Net.Webexception: Unable to connect to the remote server --> System.Net.Sockets.Socketexception: A connection attempt failed because the connected component did not respond correctly after a period of time or the established connection failed because the connected host did not respond
– Desalex