Vorrei fornire un link "Annulla iscrizione" con un solo clic nel piè di pagina delle e-mail inviate dal mio servizio.
Ovviamente, molti scanner di spam eseguiranno la scansione delle e-mail e seguiranno tutti i collegamenti presenti nelle e-mail per scansionare i loro contenuti alla ricerca di malware. Una soluzione alternativa che ho usato finora:
- Se la pagina "Annulla iscrizione" viene richiesta tramite HTTP GET, viene visualizzato un semplice modulo di conferma e un po 'di JS che invia il modulo al caricamento della pagina
- Se la pagina "Annulla iscrizione" è richiesta tramite HTTP POST, annulla la sottoscrizione dell'utente
In questo modo, l'utente di solito avrà bisogno di un solo clic sul modulo e riceverà un messaggio "Sei stato cancellato". Se JS è disabilitato, possono comunque inviare manualmente il modulo di conferma.
Ora il problema è che alcuni scanner come l'ATP di Office365 apriranno le pagine ed eseguiranno JS al loro interno . Eseguendo JS, inviano il modulo e causano l'annullamento automatico della sottoscrizione dell'utente.
Ho preso in considerazione l'aggiunta di controlli alla logica JS di invio automatico:
- non inviare automaticamente per agenti utente specifici
- non inviare automaticamente per intervalli IP client specifici
- attiva l'invio automatico all'evento di spostamento del mouse
Ma tutti questi sembrano metodi fragili, nella migliore delle ipotesi, che si rompono quando gli scanner di posta elettronica cambiano le loro tattiche.
Sono sicuro che questo problema ha morso molte persone davanti a me. Esistono soluzioni alternative ragionevoli, oltre a rinunciare alla funzionalità di clic singolo?
PS. Ho aggiunto il supporto per RFC 8058 ma gli utenti continueranno a fare clic sui collegamenti nel piè di pagina.