You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
spamhaus a marqué une des ips de nos routeurs emails comme émettant du spam. Le routeur a immédiatement bloqué l'envoi de mail.
La détection en tant que spam se fait lorsqu'une adresse détenue par spamhaus recoit de manière répétée des mails.
Pourquoi envoyons nous des mails a spamhaus ?
hypothèse 1 : les utilisateurs (usager / FC / instructeur / admin) entre des adresses comportant des typos, et on leur envoie du trafic
Solution proposée :
demander une confirmation par mail pour tester sa validité (Confirmed Opt In).
Tant que le mail n'a pas été confirmé, seul les mails de confirmation peuvent y être envoyés.
Dans le code, on conditionne l'envoi de mail à la méthode user.email_verified?.
ajout d'une colonne email_verified_at de type date_time dans la table Users
dans user, def email_verified = email_verified_at.present?
dans un premier temps, dans BalancerDeliveryMethod, on rajoute un brutal return if !User.email_verified? en première ligne de de deliver!
3.1 va falloir etre un poil plus subtile pour ne pas bloquer les mails d'inscription / validation
le PLAN
ajout de la colonne email_verified_at
modification du controler Devise pour que email_verified_at soit rempli en mm temps que confirmed_at
écriture d une tache du genre User.by_batch.update_all('email_checked_at = confirmed_at')
on confirmed_at partout on peut
identification des mails d'identification et ajout d'un tag pour qu'il soit délivré dans tous les cas
blockage des mails non vérifiés
dans un second temps
on nettoie le stock
on modifie l’enrôlement pour avoir de la confirmation d email partout.
pourquoi ne pas utiliser le confirmed_at natif de devise ?
parce qu'on veut garder la promesse de simpliciter de FC dont les comptes doit avoir majoritairement des comptes corrects
Annexes
en base : User.where(confirmed_at: nil).count -> 300K User.where(confirmed_at: nil).where.missing(:dossiers).count -> 300K -2
2 profils users ont des dossiers sans avoir de mail confirmé (creation 2020 / 2022)
Pb:
spamhaus a marqué une des ips de nos routeurs emails comme émettant du spam. Le routeur a immédiatement bloqué l'envoi de mail.
La détection en tant que spam se fait lorsqu'une adresse détenue par spamhaus recoit de manière répétée des mails.
Pourquoi envoyons nous des mails a spamhaus ?
hypothèse 1 : les utilisateurs (usager / FC / instructeur / admin) entre des adresses comportant des typos, et on leur envoie du trafic
Solution proposée :
demander une confirmation par mail pour tester sa validité (Confirmed Opt In).
Tant que le mail n'a pas été confirmé, seul les mails de confirmation peuvent y être envoyés.
Dans le code, on conditionne l'envoi de mail à la méthode
user.email_verified?
.email_verified_at
de type date_time dans la tableUsers
def email_verified = email_verified_at.present?
BalancerDeliveryMethod
, on rajoute un brutalreturn if !User.email_verified?
en première ligne de dedeliver!
3.1 va falloir etre un poil plus subtile pour ne pas bloquer les mails d'inscription / validation
le PLAN
email_verified_at
email_verified_at
soit rempli en mm temps queconfirmed_at
User.by_batch.update_all('email_checked_at = confirmed_at')
dans un second temps
Mise en place
Nettoyage du stock
Activation de la confirmation par email
Usager
Instructeur
(ca se joue dans `User.create_or_promote_to_instructeur)
Expert
(ca se joue dans `User.create_or_promote_to_expert)
Administrateur
Super Admin
FAQ
pourquoi ne pas utiliser le confirmed_at natif de devise ?
parce qu'on veut garder la promesse de simpliciter de FC dont les comptes doit avoir majoritairement des comptes corrects
Annexes
en base :
User.where(confirmed_at: nil).count
-> 300KUser.where(confirmed_at: nil).where.missing(:dossiers).count
-> 300K -22 profils users ont des dossiers sans avoir de mail confirmé (creation 2020 / 2022)
User.where(confirmed_at: nil).where.missing(:instructeur).count
-> 173User.where(confirmed_at: nil).where.missing(:administrateur).count
-> 23User.where(confirmed_at: nil).where.missing(:expert).count
-> 106The text was updated successfully, but these errors were encountered: