En la versión recién lanzada de ASP.NET 2.0, Microsoft ya no recomienda usar el espacio de nombres System.Web.Mail y lo reemplaza con el nuevo espacio de nombres System.Net.Mail. Hay muchas características nuevas introducidas en esta nueva biblioteca, pero con ellas algunos errores menores en la forma en que se envían los correos electrónicos.
1. Envío de correo
Antes de analizar estos pequeños errores en detalle, veamos un código de muestra (asumimos que ha agregado "usar System.Net.Mail" al principio del archivo):
MailMessage msg = new MailMessage();
msg.From = new MailAddress(" direcció[email protected] ", "Nombre de la persona");
msg.To.Add(new MailAddress(" [email protected] ", "Nombre del destinatario");
msg.To.Add(new MailAddress(" [email protected] ", "Nombre del destinatario 2");
msg.Subject = "Asunto del mensaje";
msg.Body = "Contenido del cuerpo del correo";
msg.IsBodyHtml = verdadero;
msg.Priority = MailPriority.Alta;
SmtpClient c = nuevo SmtpClient("servidor de correo.dominio.com");
c.Send(msg);
El código anterior no es muy diferente de la implementación de la versión anterior, excepto por algunos cambios menores al especificar el mensaje. En lugar de crear una dirección usted mismo, puede dejar que el sistema lo haga por usted. Si especifica una dirección de correo electrónico y un nombre, automáticamente mostrará lo siguiente en el mensaje:
"Nombre de la persona" < [email protected] >
Este es el formato "correcto" para una dirección de correo electrónico. Por supuesto, puede agregar varias direcciones a los conjuntos Para, CC y BCC exactamente de la misma manera que antes. Enviar una gran cantidad de mensajes mediante programación de esta manera es mucho más fácil que enviar cada mensaje individualmente: simplemente agregue varias direcciones al atributo CCO para lograr un envío masivo.
2. Problemas existentes
Ahora analicemos los pequeños errores que existen.
Como se mencionó anteriormente, este nuevo espacio de nombres presenta algunos errores menores. La primera es que cuando envías un correo electrónico, la información del encabezado se agrega completamente en letras minúsculas. Sin embargo, la especificación RFC para correos electrónicos SMTP no especifica cómo se deben escribir en mayúscula los encabezados de los correos electrónicos; sin embargo, muchos programas de filtrado de spam restringen los mensajes de correo electrónico cuyos encabezados no están en mayúsculas correctamente;
Otro error tiene que ver con la configuración de prioridad: con la configuración de prioridad, los usuarios pueden especificar la importancia de un mensaje en el cliente de correo. Debido a la forma en que está formateado el encabezado del correo electrónico (convertido a minúsculas), mi programa de correo electrónico (Eudora) no reconoce el indicador de prioridad correspondiente y, por lo tanto, no marca específicamente este correo electrónico como importante. Aunque esto puede parecer trivial, no parece haber ninguna razón obvia para cambiar a una nueva versión de System.Web.Mail.
Por lo tanto, continuaré explorando este problema. Si realmente no puedo encontrar una buena solución, simplemente regresaré al System.Web.Mail anterior para resolver el problema de advertencia anterior de manera más efectiva.