onzag / itemize

Easy, Fast, Scalable, Reliable; ReactJS based FullStack engine.
https://onzasystems.com
Other
2 stars 1 forks source link

Unsubscribe from emails directly from the email #8

Open onzag opened 4 years ago

onzag commented 4 years ago

Users should be allowed to unsubscribe from emails from the email itself, and a rest endpoint should be added that allows users, given a token, to unsubscribe and change the property that represents the subscription to false.

As well sending emails via the mail service should be linked to a property and should not send the email if the user that it represents proves to be unsubscribed, an alternative unvalidated endpoint should be offered as well.

The ubsubscribe link should be somehow injected into the template, when we talk about templates.

But since headers are also a thing, this requires integration with whatever the email service provider is; for the default provider, mailgun, the documentation must be check to ensure things are in sync, since the process should work in a provider agnostic way and not make a hard link.

Emails are going to spam due to the lack of unsubscription, this should solve this.

onzag commented 4 years ago

This is currently being developed in the master branch as it represents a priority feature to avoid being labeled as spam.

onzag commented 3 years ago

This is considered partially done, as it's enough to keep most providers happy giving the url List-Unsubscribe header however the generic mail service file is not complete nor it's the mailgun service.

However the mailto: protocol that we already create a link for is not yet supported because I haven't figured or come out with a reasonable way to receive emails, as I need to setup webhooks and polling, etc... in the service.

And there's no standard item definition defined for schema usage to store emails as they come, so there's a lot of work to be done on this, however we can for now take this issue back into the backlog as the most critical thing, coming to spam, should have been improved.