suscripción plantillas mailrelay mail ipzone gratuito form dar cancelar baja email usability

email - plantillas - ¿Cómo agregar la funcionalidad de darse de baja con un clic a los boletines de correo electrónico?



newsletter gratuito (7)

Asigno una cadena de identificador único de 32 caracteres (con MySQL: MD5(UUID()) ) a cada dirección de correo electrónico y solo envío ese identificador en el enlace de cancelación de suscripción.

Me gustaría personalizar los enlaces de "cancelar suscripción" en nuestros boletines de correo electrónico para que eliminen el destinatario con un solo clic. En este momento, solo apuntan a una página genérica donde el usuario debe ingresar su dirección de correo electrónico y seleccionar el boletín de noticias del cual desea cancelar la suscripción.

Parece que esto debería ser bastante sencillo, es decir, solo incluya la dirección de correo electrónico y la identificación del boletín como parámetros de URL. Pero cuando miré los ejemplos de las listas a las que me suscribí, muchos no incluyen una dirección reconocible y la mayoría parece estar usando lo que parecen guías y / o valores de hash en los parámetros. A partir de eso, supongo que debería ser hash o la codificación de alguna información para evitar el abuso malicioso del formulario de cancelación de suscripción.

Así que mi pregunta es realmente sobre las mejores prácticas y no reinventar la rueda. ¿Hay una manera estándar de manejar este tipo de funcionalidad? Más específicamente, ¿existen razones para no incluir la dirección de correo electrónico del destinatario como parte de la URL? Esto parece tan simple que parece que estoy pasando por alto algo.


Dos razones para no tener una dirección de correo electrónico de texto sin formato en la consulta de la URL es que no desea que los usuarios malintencionados cancelen la suscripción a sus clientes de su lista de correo.

El segundo, que probablemente solo afectaría a las compañías que envían millones de correos electrónicos, es hacer que a los spammers les resulte más difícil "rastrear" las direcciones de correo electrónico genuinas.


Doy a cada correo electrónico que envío una identificación, luego busco la identificación del correo electrónico cuando hacen clic en cancelar la suscripción.

http://www.foo.com/unsubscribe.asp?ID=1234

Y luego cancele la suscripción a la dirección de correo electrónico a la que le envié 1234.


He utilizado un método de alguna manera simple en una aplicación web, pero no estoy seguro de si es lo suficientemente eficiente y seguro para los propósitos de otras aplicaciones web.

En mi aplicación, cuando el usuario hace clic en el enlace para cancelar la suscripción, lo reenvío a una página de mi servidor con una cadena de consulta que es una combinación de la dirección de correo electrónico del usuario y su ID única en mi base de DB (ambas encriptadas, preferiblemente).

Luego, en la función de carga de la página de mi página, primero decrypt la Email address , luego verifico si la dirección de correo electrónico existe en mi base de datos y luego si la respuesta es VERDADERA, verifico si la ID y la Email address están relacionadas y finalmente elimino al usuario según otro criterio.

Creo que haría el trabajo sin ninguna entrada adicional de datos a la base de DB .

Ahora estoy buscando una manera de averiguar si la persona que ha hecho clic en el enlace es la persona de primera mano a la que le he enviado el correo electrónico o si se le ha reenviado el correo electrónico. ¡Para que nadie más que el usuario real pueda (por lo menos fácilmente) darse de baja!

[Preguntar por una pregunta de seguridad antes de finalizar el proceso de cancelación de la suscripción es algo en lo que he pensado hasta ahora]


No es seguro insertar direcciones de correo electrónico en un boletín. No estoy seguro acerca de la suya, pero muchos boletines terminaron en algún archivo en la web. Existen robots de spam diseñados específicamente para recopilar direcciones de archivos de listas de correo.

El correo electrónico es una tecnología más segura para esto. Configure una cuenta de correo para cancelar la suscripción y obtenga la dirección de correo electrónico de los encabezados de correo. Si usa cualquier software de lista de correo, ya debería manejar esto.


Puedes codificar una URL así:

http://yourserver.com/unsubscribe/<encoded-email>/<expiration>/<signature>

Donde <signature> es algo como HMAC(secretkey, "<encoded-email>/<expiration>") . El correo electrónico codificado solo puede ser una codificación URL del correo electrónico, o puede ser una versión realmente cifrada (AES + CBC + Base64 o similar) del correo electrónico. Sin embargo, el uso del cifrado completo parece ser de poca utilidad, ya que la persona que lo recibe tiene su propia dirección de correo electrónico de todos modos.

Este esquema de firma tiene la ventaja de no necesitar ningún almacenamiento de base de datos, mientras se mantiene seguro contra intentos malintencionados de cancelar la suscripción de alguien.

Alternativamente (o además de lo anterior), puede enviar un correo de confirmación para confirmar la intención del usuario. Esto evita problemas si el usuario reenvía el correo electrónico.


Si el software de su lista de correo usa las mejores prácticas de la vieja escuela, debe haber una dirección de correo electrónico para "cancelar la suscripción". El envío de un correo electrónico a esa dirección desde la dirección que desea cancelar la suscripción (posiblemente con una línea de asunto fija) generalmente funciona (junto con el envío de email de confirmación). En ese caso, agregar un enlace ''mailto'' con el formato correcto debería hacer el truco.