Fórum Ajuda com envio de e-mail assíncrono (SendAsync). #417589
28/05/2012
0
Amigos, boa tarde!
Andei pesquisando na internet como enviar e-mail de forma assíncrona. Entrei em vários artigos/fóruns e todos ensinam praticamente da mesma forma, sendo que em nenhum deles consegui fazer esta tarefa de envio, pois ao final é apresentando um erro com a seguinte mensagem: falha no envio. Segue a baixo o código:
protected void teste_Click(object sender, EventArgs e)
{
try
{
MailMessage message = new MailMessage();
message.Subject = teste;
message.From = new MailAddress(cotiexemplo@gmail.com);
message.To.Add(elias.kovalet@gmail.com);
message.IsBodyHtml = true;
message.Body = Teste;
SmtpClient smtp = new SmtpClient(smtp.gmail.com);
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(cotiexemplo@gmail.com, @coticoti@);
smtp.Port = 587;
smtp.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
object userState = message;
smtp.SendAsync(message, userState);
}
catch (Exception exception)
{
lblTeste.Text = exception.Message;
}
}
private void client_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
//Get the Original MailMessage object
MailMessage mail = (MailMessage)e.UserState;
//write out the subject
string subject = mail.Subject;
if (e.Cancelled)
{
lblTeste.Text = Send canceled for mail with subject []. + subject;
}
if (e.Error != null)
{
lblTeste.Text = Error occurred when sending mail [] + subject + e.Error;;
}
else
{
lblTeste.Text = Message [] sent. + subject;
}
}
Gostaria de saber o que estou fazendo de errado. Alguém poderia me ajudar.
Atenciosamente,
Elias Sousa.
Andei pesquisando na internet como enviar e-mail de forma assíncrona. Entrei em vários artigos/fóruns e todos ensinam praticamente da mesma forma, sendo que em nenhum deles consegui fazer esta tarefa de envio, pois ao final é apresentando um erro com a seguinte mensagem: falha no envio. Segue a baixo o código:
protected void teste_Click(object sender, EventArgs e)
{
try
{
MailMessage message = new MailMessage();
message.Subject = teste;
message.From = new MailAddress(cotiexemplo@gmail.com);
message.To.Add(elias.kovalet@gmail.com);
message.IsBodyHtml = true;
message.Body = Teste;
SmtpClient smtp = new SmtpClient(smtp.gmail.com);
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(cotiexemplo@gmail.com, @coticoti@);
smtp.Port = 587;
smtp.SendCompleted += new SendCompletedEventHandler(client_SendCompleted);
object userState = message;
smtp.SendAsync(message, userState);
}
catch (Exception exception)
{
lblTeste.Text = exception.Message;
}
}
private void client_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
//Get the Original MailMessage object
MailMessage mail = (MailMessage)e.UserState;
//write out the subject
string subject = mail.Subject;
if (e.Cancelled)
{
lblTeste.Text = Send canceled for mail with subject []. + subject;
}
if (e.Error != null)
{
lblTeste.Text = Error occurred when sending mail [] + subject + e.Error;;
}
else
{
lblTeste.Text = Message [] sent. + subject;
}
}
Gostaria de saber o que estou fazendo de errado. Alguém poderia me ajudar.
Atenciosamente,
Elias Sousa.

Elias Sousa
Curtir tópico
+ 0
Responder
Posts
01/06/2012
Elias Sousa
Bom pessoal,
Consegui encontrar a solução para este problema. Então vou estar postando aqui. No caso o código postado está correto. O que precisava ser feito para funcionar é declarar na diretiva da página está opção - Async=true.
Exemplo completo:
<%@ Page Language=C# AutoEventWireup=true CodeBehind=WebForm4.aspx.cs Inherits=update.WebForm4 Async=true %>
Espero esta situação resolvida possa ajudar mais pessoas.
Consegui encontrar a solução para este problema. Então vou estar postando aqui. No caso o código postado está correto. O que precisava ser feito para funcionar é declarar na diretiva da página está opção - Async=true.
Exemplo completo:
<%@ Page Language=C# AutoEventWireup=true CodeBehind=WebForm4.aspx.cs Inherits=update.WebForm4 Async=true %>
Espero esta situação resolvida possa ajudar mais pessoas.
Responder
Gostei + 0
10/06/2012
Joel Rodrigues
Perfeito, Elias, que bom que deu certo.
Obrigado por compartilhar com a comunidade.
Obrigado por compartilhar com a comunidade.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)