Could you please give me an idea of the queries that would need to be ran?
These queries will bulk upgrade per-user watch defaults and all watched threads and watched forums;
SQL:
update xf_user_option
set creation_watch_state = 'watch_no_email'
where creation_watch_state = 'watch_email';
update xf_user_option
set interaction_watch_state = 'watch_no_email'
where interaction_watch_state = 'watch_email';
update xf_thread_watch
set email_subscribe = 0
where email_subscribe = 1;
update xf_thread_watch
set send_email = 0
where send_email = 1;
Before doing this, make sure the new user registration defaults are updated so users don't get the default to watch with email.
There is no such thing as an unlimited service, and I am currently paying around 1000$/month for mailgun.
I've got a couple $5/m VMs which average nearly 250k emails per month in total. And this is with the default watched thread status to no emails.
Paying a flat rate for vast amounts of email is very doable.
The are some downsides to this approach;
- Need to manage some VMs or dedicated machines.
- VM providers are often blacklisted by range and can struggle to get good IP reputation.
- You must subscribe to a number of "mail feedback loops" to be notified when people mark your emails as spam
- Get ready to email various ISPs to request delisting with a real username & phone number.
- Haven't actually needed to call anyone yet in the 8 years of doing this!