Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

DiogoFialho

[Resolvido] Falha ao enviar a mensagem

Mensagens Recomendadas

DiogoFialho

MailMessage message = new MailMessage("from", "to@gmail.com", "Subject", "mensagem");
SmtpClient client = new SmtpClient();

client.UseDefaultCredentials = false;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Port = 25;
client.Host = "smpt.gmail.com";
client.Credentials = new NetworkCredential("username", "password");
client.Send(message);

Este pedaço de código, ao chegar à instrução Send, acaba por dar uma excepção de Send.Failure.

Alguém me consegue ajudar, se faz favor?

Editado por Rui Carlos
Formatação do código.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoFialho

Continua sem funcionar :S

Alterei a porta, alterei as configurações padrão e continua a dar a mesma excepção.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
renafi

Tens de Acrescentar no client a propriedade EnableSsl = true


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoFialho

Sim, no exemplo que foi dado lá acima estava isso e, eu acabei por fazer o mesmo. Continua a dar o mesmo erro...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
renafi

Nos meus projectos tenho configurada a porta 587. Experimenta.


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoFialho

É a mesma porta que eu utilizo. Alterei quando vi o exemplo acima mas, mesmo assim, não está a funcionar. É a última parte que me falta do projecto e ainda não consegui resolver :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rumbafum

A porta 587 supostamente é para uso de TLS nesse caso colocarias EnableSSL a false penso eu

A porta 25 ou a 465 deveriam funcionar com o EnableSSL = true

Portanto... Já experimentaste a porta 25 com EnableSSL? Ou a 465 com EnableSSL?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dnilsantos

Sempre que tiver seu problema resolvido, procure colocar como solucionou amigão. Apenas uma dica ;)

Bom, eu solucionei meu problema apenas colocando em meu código a porta 25. Segue abaixo o código para quem quiser verificar:

try
	    {
		  /*janelaLogin é o nome da janela que chama uma janela											  de cadastro caso seja usuário novo, porém digamos que o usuário clicasse no button cancelar, é aí onde ocorre pode ocorrer uma exception, que abaixo está sendo tratada. Ocorre ao chamar novamente a Form JanelaLogin.
*/
		    janelaLogin.ActiveForm.ShowDialog();
	    }catch(Exception exception)
	    {
		    MessageBox.Show("Um erro ocorreu! Já recebemos este erro por e-mail e estaremos trabalhando para resolvê-lo."
			   + " Desculpe-nos pelo transtorno.\nAtenciosamente Equipe XXXXXX.",exception.Message, MessageBoxButtons.OK, MessageBoxIcon.Information);

		    try
		    {
			    //cria uma mensagem
			    MailMessage mail = new MailMessage();
			    //Cria o Remetente (administrador do sistema)
			    string remetente = "email_remetente@hotmail.com";
			    string destinatario = "email_destinatario@gmail.com";
			    //define os endereços
			    mail.From = new MailAddress(destinatario);
			    mail.To.Add(destinatario);
			    //define o conteúdo
			    mail.Subject = "Atenção! Erros com o Sistema da Ferragem!";
			    mail.SubjectEncoding =   System.Text.Encoding.UTF8;//colocando msg no padrao utf8
			    mail.IsBodyHtml = true;
			    mail.Body = "Foi reportado o erro a seguir com o aplicativo: " + exception;
			    //Credenciais para acesso ao E-mail
			    //smtp para hotmail, pois utilizei o hotmail para enviar a mensagem
			    SmtpClient smtp = new SmtpClient("smtp.live.com");
			    //Recursos adicionais para o envio da mensagem
			    smtp.EnableSsl= true;
			    smtp.Port = 25;//aqui foi onde resolvi a questão
			    smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
			    smtp.UseDefaultCredentials = false;

			    //Autenticação
			    smtp.Credentials = new NetworkCredential(remetente, "senha_remetente (sua senha)");

			    //envia a mensagem
			    smtp.Send(mail);
			    MessageBox.Show("Enviado com sucesso");

		    }catch(Exception exceptionMail)
		    {
			    MessageBox.Show("Ocorreu um erro com a aplicação.Informações do erro \n" + exceptionMail.Message, "\n",  MessageBoxButtons.OK, MessageBoxIcon.Error);
		    }
		    finally
		    {
			    this.Close();
		    }

	    }

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.