XF 2.2 Disable email notifications for all members

themago

Member
I am sending out almost 1.5million email notifications per month to users, and it's costing a lot of money. I know there are tutorials here for how to disable email notifications for new users but what about for users that already have email notifications set? Mainly for Thread watch and Forum watch. Is there anyway to disable these emails for all members? Old and new.
 

leebo

Active member
Sounds like maybe you’re a larger forum as that’s a TON of emails. Do you use a service to send emails as maybe it’s worth upgrading to an unlimited service.
 

themago

Member
Sounds like maybe you’re a larger forum as that’s a TON of emails. Do you use a service to send emails as maybe it’s worth upgrading to an unlimited service.

There is no such thing as an unlimited service, and I am currently paying around 1000$/month for mailgun.
 

Xon

Well-known member
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!
 

themago

Member
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!
I've already tried this (and failed) the capability of running an email server is easy, and I already had it up and running sending more than enough emails, trying to get proper delivery with yahoo and microsoft was a huge pain in the ass, and ultimately beyond my capability

Thank you very much for the query help
 

MilesDB

Well-known member
update xf_thread_watch
set send_email = 0
where send_email = 1;
Running this query in the XF2.2 db gives an error as there is no send_email column in the table.

Run this instead:

Code:
update xf_thread_watch
set email_subscribe = 0
where email_subscribe = 1;
 
Top