Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dansilver

[Resolvido] Enviar e-mails SMTP dando erro estranho (C#)

Recommended Posts

Olá,

 

Pessoal estou tentando enviar e-mail atraves do protocolo SMTP de um servidor de e-mails daqui do meu estado, o codigo funciona perfeitamente com servidores como hotmail e gmail, mas com servidor daqui ao tentar enviar eu recebo o seguinte erro:

 

O servidor SMTP requer uma conexão segura ou o cliente não foi autenticado. A resposta do servidor foi: authentication needed

 

O servidor(infonet) não aceita SSL, segue o codigo:

 

string remetenteEmail = "Meu_email@infonet.com.br";    
        MailMessage mail = new MailMessage();
        mail.To.Add("Meu_email@infonet.com.br");
        mail.From = new MailAddress(remetenteEmail, "Meu_nome", System.Text.Encoding.UTF8);
        mail.Subject = fassunto.Text;
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.Body = "Menssagem";
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;
        mail.Priority = MailPriority.Normal;
        SmtpClient client = new SmtpClient();
        client.Credentials = new System.Net.NetworkCredential(remetenteEmail, "Minha_senha");
        client.Port = 25;
        client.Host = "mail.infonet.com.br";
        try
        {
            client.Send(mail);
            respostaenvio.Text = "Envio do E-mail com sucesso";
            respostaenvio.Visible = true;
        }
        catch (Exception ex)
        {
            respostaenvio.Text = "Ocorreu um erro ao enviar:" + ex.Message;
            respostaenvio.Visible = true;
        }

Agradeço a ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Dansilver, pelo erro parece que seu server requer ssl.

Ative em

client.EnableSsl = true;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Dansilver, pelo erro parece que seu server requer ssl.

Ative em

client.EnableSsl = true;

 

como eu disse a infonet não aceita SSL, se eu habilitar vou receber outro erro:

O servidor não oferece suporte para conexões seguras.

 

obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui solucionar o problema. E a solução foi mais facil do que se poderia imaginar(talvez por isso não estava conseguindo hehe)

 

É o seguinte, como a infonet não aceita conexão segura a classe System.Net.Mail não estava passando as informações de credenciais(autenticação) para o servidor, então tive a ideia basica de usaro servidor local(localhost) assim eu não precisaria passar as credenciais, e deu certo.

 

string remetenteEmail = "Meu_email@infonet.com.br";    
        MailMessage mail = new MailMessage();
        mail.To.Add("Meu_email@infonet.com.br");
        mail.From = new MailAddress(remetenteEmail, "Meu_nome", System.Text.Encoding.UTF8);
        mail.Subject = fassunto.Text;
        mail.SubjectEncoding = System.Text.Encoding.UTF8;
        mail.Body = "Menssagem";
        mail.BodyEncoding = System.Text.Encoding.UTF8;
        mail.IsBodyHtml = true;
        mail.Priority = MailPriority.Normal;
        SmtpClient client = new SmtpClient("127.0.0.1");
        try
        {
            client.Send(mail);
            respostaenvio.Text = "Envio do E-mail com sucesso";
            respostaenvio.Visible = true;
        }
        catch (Exception ex)
        {
            respostaenvio.Text = "Ocorreu um erro ao enviar:" + ex.Message;
            respostaenvio.Visible = true;
        }

Muito obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.