Forcefully Update Email Intensity Setting And Control Number of Emails Sent

If you have recently installed the newer version of PeepSo that includes the different email intensity settings, but your users already chose the different option here, you can easily reset that setting for everyone using database queries.

For that, you’ll need to have access to PHPMyAdmin.
If you don’t know how to access PHPMyAdmin on your site, please contact your hosting provider. They should give you the exact instructions.

If you don’t know what PHPMyAdmin is, it is probably better to hire a professional to perform this task for you. In any case, making a full site and database backup is strongly recommended.

Once you’re in the PHPMyAdmin interface open your database and then switch to SQL tab as indicated with number 1 and number 2 on the image below:

Run the following query:
UPDATE table-prefix_usermeta SET meta_value=99999 WHERE meta_key='peepso_email_intensity'

Important: change table-prefix part with actual table prefix of your site. On the image above, table prefix is ds, but in most cases it will be simply wp

Meta Values You Can Use:

  • 0 == real time
  • 99999 == never
  • 60,120,180 (1,2,3 hours)
  • 360,720 (4x and 2x per day)
  • 1440 (once per day)
  • 10080 (once a week)

Remove Some or All Meta Values #

If you want to remove some of the meta values available, you can add this code in functions.php of your theme. We strongly suggest creating child theme so your changes can be preserved when parent theme is updated.

Control Number of Emails Sent Every Hour #

For this to work, you’ll have to set external cron job. Please read this article in the documentation to learn how to set up cron job.

To calculate how many emails your server send per hour, you can use the following formula:

60 / T * N

Where T is the number of the Cron repeat delay, and N is the number of emails processed
For example, if you set the cron job to run every 5 minutes (T=5) and it process 50 emails (N=50) the result will be 600 emails per hour.

To reduce the number of email notifications sent, you either have to increase the cron job delay, to say 10 minutes, or add the limit statement $limit=20 as shown in the following example:

wget https://domain.com/?peepso_process_mailqueue$limit=20 > /dev/null
or
curl https://domain.com/?peepso_process_mailqueue$limit=20 > /dev/null

This simply means no more than 20 emails per cron run will be processed.

What are your feelings
Updated on October 4, 2023