CLR: .Net / Mono / Boo / Otros CLR > ASP .NET
Enviar E-mail
(1/1)
Burn^_^:
Hola,
Estoy intentando enviar un e-mail segun los pasos que salen en MSDN2 y me sale el siguiente error.
--- Código: Text ---El servidor rechazó la dirección del remitente. Respuesta del servidor: 530 5.7.0 Must issue a STARTTLS command first y24sm20054240nfb
¿Alguien sabe como arreglar esto?
Tengo el siguiente codigo en C#
--- Código: Text --- using System.Web.Mail;......... protected void darAlta_Click(object sender, EventArgs e) { if (...) {...} else { MailMessage Correo = new MailMessage(); Correo.From = "xxx.gmail.com"; Correo.To = "xxx.hotmail.com"; Correo.Subject = "xxxxxxxxxxx"; Correo.Body = "xxx" + variable.Text; Correo.BodyFormat = MailFormat.Text; Correo.Priority = MailPriority.Normal; SmtpMail.SmtpServer = "smtp.gmail.com"; SmtpMail.Send(Correo); } }
Si alguien me pudiese decir en que estoy fallando estaría muy agradecido.
Gracias de antemano.
hellscream:
El error lo indica todo, gmail utiliza SSL como mecanismo de autenticación, simplemente asigna la propiedad EnableSsl de tu objeto de tipo SmtpClient
Burn^_^:
He modificado el codigo y me sale el siguiente error...
--- Código: Text --- Client does not have permission to submit mail to this server. The server response was: TLS not available due to temporary reason
El código lo he modificado y queda así:
--- Código: Text --- using System.Net.Mail;.........protected void darAlta_Click(object sender, EventArgs e) { if (...) {...} else { MailMessage Correo = new MailMessage(); Correo.From = new MailAddress("xxx.gmail.com"); Correo.To.Add("xxx.hotmail.com"); Correo.Subject = "xxxxxxxxxxx"; Correo.IsBodyHtml = true; Correo.Body = "xxx" + variable.Text; Correo.Priority = MailPriority.Normal; SmtpClient smtp = new SmtpClient("smtp.gmail.com"); smtp.EnableSsl = true; smtp.UseDefeaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential("xx@gmail.com","xx"); smtp.Send(Correo); } }
¿Alguna idea?
Gracias de antemano
Burn^_^:
Bueno, problema solucionado, por si alguien tiene el mismo problema ahora pongo el codigo.
El problema básicamente residia en el norton internet security que bloqueaba el puerto y un par de librerias que creo me faltaban.
Aquí el código:
--- Código: Text --- using System.Net;using System.Net.Mail;using System.Net.Mime;.........protected void darAlta_Click(object sender, EventArgs e) { if (...) {...} else { MailMessage Correo = new MailMessage(); Correo.From = new MailAddress("xxx.gmail.com"); Correo.To.Add("xxx.hotmail.com"); Correo.Subject = "xxxxxxxxxxx"; Correo.IsBodyHtml = true; Correo.Body = "xxx" + variable.Text; Correo.Priority = MailPriority.Normal; SmtpClient smtp = new SmtpClient(); [B] smtp.Port = 587;[/B] smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; smtp.UseDefeaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential("xx@gmail.com","xx"); smtp.Send(Correo); } }
Saludos y hasta otra.
romaedu200:
El problema que tienes es que estas usando Credentials
Tienes que habilitar el uso de SSL y desahabilitar Credentials de la siguiente manera :
smtpClient.UseDefaultCredentials = false;
smtpClient.Host = server;
smtpClient.Port = port;
smtpClient.EnableSsl = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Credentials = new NetworkCredential(user, password);
En mi caso todo esto es configurado automaticamente en el Web Config.
Pero con esto deberias solucionarlo.
Atte, Eduardo Mass
Navegación
Ir a la versión completa