viernes, 26 de setiembre de 2008

ASP.NET - Enviar correos mediante plantillas - I

Casi siempre, las aplicaciones web tienen la necesidad de enviar correos, eso es una verdad aceptada.
Y también sabemos que el envío de correos se realiza de manera sencilla utilizando para ello la clase System.Net. Este post no enseñará a enviar correos, hay miles de páginas que enseñan cómo hacer eso.
Por ejemplo: http://aspnet.4guysfromrolla.com/articles/072606-1.aspx

Mas bien, en lo que nos vamos a centrar nosotros es en: cómo enviamos mensajes de correo agradablemente formateados (tipo páginas web)?...
pero además teniendo en cuenta que las estructuras de los correos deben ir separadas en archivos html...osea plantillas prediseñadas y formateadas para que el usuario simplemente elija cuál plantilla usar.

Algo más, no tenemos por qué tipear en el código (hardcodear) la estructura de la plantilla de correo. Osea, no es necesario que hagas esto:
















funciona? claro que sí... pero no es la mejor forma. Por qué? qué pasa si te piden que cambies el diseño de ese mensaje: al jefe no le gusta pues. Vas a pedirle que te pase un nuevo diseño y lo vas a tipear nuevamente en tu código VB.NET O csharp? Y luego? le vas a preguntar: Así está bien jefecito? Te dirá: Sí, está quedando de la ptm... pero mejor ponle celeste al borde... y así... vas a estar como loquito compilando y recompilando tu aplicación hasta que el jefe aliándose con el diseñador apruebe los cambios. Eso te gusta? noooooooooooo....

La solución? simple: creas una carpeta llamada Plantillas en tu proyecto... allí creas una página html llamada bienvenida.htm... en esta página pones la estructura de lo que debería ser el mensaje de correo de bienvenida. Algo así:
















Fíjate que le he puesto un rectángulo verde a los datos que sí pueden cambiar.
Entonces, lo único que debes hacer cada vez que quieres enviar un correo es mediante código recuperar el html de la página bienvenida.htm y reemplazar los textos encerrados en verdes por los del usuario que recibirá el correo.
Cómo haces eso? eso lo veremos en el próximo post.
Pero creo que ya me entendiste la idea.

2 comentarios:

Unknown dijo...

HOLA SEGUNDO gran aporte . estuve realizando tu proyecto pero justo en la pagina Bienvenida.htm en esta parte :
link = href="$URL$style/Style.css" , especificamente $URL$ esa parte no me la reconoce mi visual studio 2010 , por lo tanto no envia el mail. intuyo que es debido a esto , ya que todo el otro codigo no da error de compilacion. te agradeceria mucho si me puedes ayudar o mandarme este proyecto a edsonfarias2010@gmail.com . ya que pretendo meter esto a mi examen de titulo. me ayudarias de sobremanera . gracias amigo ;)

Segundo Serrano dijo...

hola Edson Farias,

si pudieras subir una parte de tu proyecto a algun sitio y luego pasarme el link para descargarlo y darle una chequeada.

Saludos