Estoy tratando de agregar un encabezado List-Unsubscribe a mi correo electrónico que se está enviando. Hasta ahora no he tenido suerte tratando de hacerlo.List-unsubscribe en el encabezado del correo electrónico. ¿Cómo?
Lo que he conseguido hasta ahora:
var mailMessage = new MailMessage
{
Subject = newsletter.Subject,
Body = newsLetterHTML,
IsBodyHtml = true,
Sender = new MailAddress(senderAddress)
};
mailMessage.To.Add(subscriber.Email);
mailMessage.ReplyToList.Add(senderAddress);
mailMessage.Headers.Add("List-Unsubscribe", unSubscribeUrl);
El unSubscribeUrl
es algo así como 'www.example.com/unlist?id=8822772727'. Cuando envío el correo electrónico, todo funciona bien, excepto la opción de anulación de suscripción a la lista. Que no se muestra en ningún cliente de correo.
¡Cualquier ayuda sería bienvenida!
ACTUALIZACIÓN
Este es todo el código que utilizo para enviar el correo electrónico:
var mailMessage = new MailMessage
{
Subject = newsLetter.Subject,
Body = newsLetterHTML,
IsBodyHtml = true,
Sender = new MailAddress(senderAddress)
};
mailMessage.To.Add(subscriber.Email);
mailMessage.ReplyToList.Add(senderAddress);
mailMessage.Headers.Add("List-Unsubscribe", String.Format("<{0}>", "http://www.foo.com/unlist?id=8888"));
mailMessage.HeadersEncoding = Encoding.Default;
var smtpClient = new SmtpClient();
smtpClient.Send(mailMessage);
ACTUALIZACIÓN 2
Después de un poco de investigación me dio la cabecera en el MailMessage. Cuando envié un correo electrónico que puedo ver los siguientes encabezados:
List-Unsubscribe: <http://demo.localhost/home/hobbymap-gerard/afmelden-voor-nieuwsbrief?id=c786aeb0-554d-4670-94d8-82d6f25a050b>
MIME-Version: 1.0
From: [email protected]
To: [email protected]
Reply-To: [email protected]
Date: 8 Feb 2011 09:50:22 +0100
Subject: Test met plaatje
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Pero cuando abro el correo electrónico en cualquier cliente que no puedo ver el botón de darse de baja en el cliente? ¿Estoy haciendo algo más mal?
Cómo ves la "Lista-Darse de baja" al comprobar los encabezados de los mensajes en el cliente receptor? ¿Puedes agregar otros encabezados? Intente utilizar WireShark para verificar que esté enviando el encabezado List-Unsubscribe al servidor SMTP local. Si es así, es posible que su servidor SMTP local esté eliminando ese encabezado. –
El RFC solo muestra las URL de 'mailto:' en los ejemplos, tal vez solo admitan 'mailto:' anular la suscripción? – tripleee