Unsubscribes – system description
Storage of the block list, its scopes, the endpoints for adding and lifting blocks, and how the central sending path checks it before sending.
Overview
Block list: the shared sending path (Dlbtmail) checks it before sending and logs every skip. Sent mail carries an unsubscribe link (see the sending mail system description). Table names carry the installation's own prefix in the database; the table is mail_optout (address, scope, source, reason, client).
Endpoints
| Endpoint | Permission | Behaviour |
|---|---|---|
optout.list | list | block list with filter |
optout.add | add | after a valid e-mail and scope (newsletter or all) calls dlbtmail->blockAddress(); the presence of dlbtmail is checked (error_mail_unavailable) |
optout.delete | delete | optout::deleteRow – lifts the block |
The debug key is checked with canAction(debug). The keys are not classified in the seeds; in practice UNMAPPED.