Envío de mail en C# usuando un smtp que requiere autenticación
El envío de emails desde .Net es realmente sencillo, es necesario únicamente utilizar el namespace System.Web.Mail proporcionado por la librería System.Web.dll
Dentro de este namespace disponemos de una clase de objetos MailMessage mediante la cual podemos crear emails y enviarlos mediante el método estático Send de la clase SmtpMail.
Sin embargo hay situaciones en las que no disponemos de un servidor smtp local y hay que utilizar uno remoto. En estas situaciones es habitual que el servidor tenga deshabilitado el relaying y nos pida una autenticación para poder enviar emails a través suya.
A continuación se muestra un ejemplo de como realizar este envío, pasándole al servidor smtp la información de autenticación junto al correo.
protected void SendEmail(){ MailMessage mail = new MailMessage(); mail.To = "destinatario@example.com"; mail.From = "remitente@example.com"; mail.BodyFormat = MailFormat.Html; mail.Subject = "Asunto del mensaje"; mail.Body = "Cuerpo del mensaje"; try { mail.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = 1; mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = "usuario"; mail.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = "clave"; SmtpMail.SmtpServer = "smtpserver"; SmtpMail.Send(mail); } catch(Exception MailEx){ throw new Exception(MailEx.Message); } finally{ ; } }
Referencias
Gracias me sirvio tu explicacion y la rutina funciona perfectamente
Saludos, Daniel
Saludos:
Como podria adicionarle uno o varios archivos adjuntos
Gracias
Esta bien padre la rutina me fue de mucha ayuda
gracias de antemano
El servidor rechazó la dirección del remitente. Respuesta del servidor: 530 5.7.0 Must issue a STARTTLS command first. 7sm1082236qwb.41
tengo el mismo problema que Jeff, el servidor rechazo la dirección del remitente, que puedo hacer, necesito ayuda URGENTE!!!!!!!