Hay otra pregunta con un título similar: Anular la suscripción de forma segura Sin embargo, mi pregunta aborda completamente otro problema.
Estoy tratando de configurar un sistema de notificación en el sitio web, que enviará correos electrónicos a los usuarios en función de diferentes eventos en la página web, por ejemplo, podría ser. recibir un mensaje en el sitio de otro usuario, alguien que esté comprando su producto, dejando un comentario, etc. - hay muchas cosas que pueden provocar una notificación. Los usuarios de la configuración de su cuenta pueden elegir para qué eventos exactos desean recibir un correo electrónico.
Estaba leyendo las mejores prácticas de correo electrónico de mailgun enlace
y aprendí eso
Es importante que los destinatarios tengan la posibilidad de darse de baja de correos electronicos Primero, es requerido por la Ley CAN-Spam. Segundo, si tu No les dé esta opción, es más probable que hagan clic en el correo no deseado. botón de queja, lo que causará más daño que permitirles darse de baja Finalmente, muchos ESP buscan enlaces para darse de baja y son es más probable que filtre su correo electrónico si no los tienen.
También, de las directrices de gmail sobre la cancelación de la suscripción enlace
Un usuario debe poder darse de baja de su lista de correo a través de uno de los siguientes medios:
Un enlace prominente en el cuerpo de un correo electrónico que lleva a los usuarios a una página. confirmando su desuscripción (no hay comentarios del usuario, otros de confirmación, debe ser requerido). Al responder a su correo electrónico con una solicitud de cancelación de suscripción.
Por lo tanto, quiero tener la opción para cancelar la suscripción en el correo electrónico. Realmente no preferiría usar la segunda opción (respondiendo a su correo electrónico), ya que podría tener algunas dificultades técnicas (p. Ej., Tengo que ver con el tipo de notificación en el correo electrónico de respuesta, tengo que revisar el correo electrónico en busca de la bandeja de entrada con regularidad y quizás algo más. no pensado en). Estoy pensando en tener un enlace para anular la suscripción en el correo electrónico y debido a que su configuración de notificación solo se puede cambiar después de iniciar sesión, se contradice con el punto no input from the user, other than confirmation, should be required
de gmail.
Por lo tanto, parece que me quedo con una URL "pública" para cambiar su configuración de notificación. Desde que leí y solía manejar casos similares, p. Ej. Al confirmar el correo electrónico o la recuperación de la contraseña, estoy enviando un correo electrónico que en url solo contiene hash generado aleatoriamente (sha512), NO de ninguna manera revela la información del usuario, que caduca en menos de 1 hora (solía poner 15 minutos).
Ahora, en el caso de un enlace de cancelación de suscripción, aunque incluya un hash aleatorio (y quizás el tipo de notificación también), está vinculado al usuario en la base de datos, porque es público, si se comparte el correo electrónico / enlace accidentalmente o publicado en algún lugar, alguien más puede editar las preferencias de notificación de ese usuario. Por otro lado, generar hash aleatorio con cada notificación y guardar en la base de datos, también vencerlos después de algún tiempo suena excesivo para mí, considerando también que, a medida que caduque, si el usuario hace clic en el enlace para cancelar la suscripción en un correo electrónico antiguo, no funcionará. .
No pude encontrar ninguna información útil por ahí, por lo que estoy buscando algunos consejos sobre cómo abordar de forma correcta y segura la cancelación de la suscripción del usuario en general y específicamente en casos similares a los míos. Cualquier ayuda es muy apreciada.
Gracias