Where does Simplenews hide not-yet-confirmed subscribers?
Any e-mail address that signs up is immediately added to the simplenews_subscribers table as an activated user. Users are only deactivated if they do so (or are made so by an admin) specifically; this is what prevents people from being reactivated.
The simplenews_snid_tid table keeps track of what newsletters people are signed up to, where snid is the Simplenews subscriber ID and tid is the newsletter taxonomy ID.
A person in the simplenews_subscribers table who is not in the simplenews_snid_tid table is someone who has not yet confirmed their subscription -- or, messily, someone who has unsubscribed from each newsletter would still be here also.
Such people (addresses) do not show up in the all subscribers listing in the subscriber listing administrative interface for the Simplenews module.
Unfortunately, this means that on a site with multiple newsletters, even if you peek at this table to see if some people just haven't gotten their subscription confirmation e-mail for some reason, you don't have a way of knowing which list someone tried to sign up for.
Altogether, this is an ugly architecture. The deactivation is global rather than per-list (so an unsubscribe rather than a deactivation would be re-subscribed in a mass update, i think), and the not-yet-confirmed state is only implied.
Thanks to the great folk at the Manchester, New Hampshire meetup for helping me finally get around to looking at this.
Comments
Post new comment