Jump to content
DiogoFialho

[Resolvido] Falha ao enviar a mensagem

Recommended Posts

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?

Edited by Rui Carlos
Formatação do código.

Share this post


Link to post
Share on other sites
DiogoFialho

Continua sem funcionar :S

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other sites
DiogoFialho

Utilizei a porta 587 com o EnableSSL a true.

Mas vou experimentar as outras opções.

Share this post


Link to post
Share on other 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();
		    }

	    }

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.