As of WordPress v4.5.2, there is no automatic way to send email to all of the people who have posted comments to your blog. However, it’s not too difficult to pull the email addresses out of the database.
Warning
You are going to be putting your hands on the raw data of your website, so be careful! And make a back-up first.
Step 1 – Log Onto the Database
The first thing that you need to do is get logged into your MySQL database using something like phpMyAdmin. How exactly you do this depends on how your server is configured. You should have received instructions from your hosting company when you signed-up. If you can’t find those, contact their support department.
Step 2 – Run a Query
Once you are logged in, you need to find the “SQL” link. That will open a window where you can run “queries” on the database. For example, this query will give you a count of how many commenters you have:
Select Distinct(comment_author_email) From wp_comments
The name of your comments table may be different from wp_comments, so make sure to use the correct name.
This query will give a list of commenters showing their name, email address, and the number of comments they have posted:
Select comment_author, comment_author_email, count(*) From wp_comments Group By comment_author_email
If you get a lot of spam comments, you should delete them via the admin panel before you begin. If they are pouring in constantly, then you can filter them out with a “where” clause:
Select comment_author, comment_author_email, count(*) From wp_comments Where comment_approved<>'spam' Group By comment_author_email
Step 3 – Export the Data
Once you have the list of email addresses, you need to export them. Below the list, there is a small “export” link. Click that and then phpMyAdmin will take you to a screen where you select a format. Pick the one that will work best for whatever email-sending program you will plug the addresses into.
Step 4 – Clean the Data
Many people who post comments use throw-away email accounts. Sending them mail is almost certainly a waste of time. You can’t always tell a fake address, but if it is from a website like mailinator.com, then it is almost certainly fake. Also, you want to remove anybody who has been hostile. Such people will complain to your ISP that you are sending them spam, and otherwise try to make trouble for you.
Another Warning
If you have a lot of commenters, be aware that your ISP may become alarmed if you try to email them all at once. They may think that you are a spammer, and shut off your email access. Your ISP may allow you to send a lot of email, but chances are that they will not tell you the exact number since knowledge of that limit helps spammers game the system. You can send your email out in batches over a period of days, or you can open a dial-up account and use it only for sending email. If that account gets closed, it won’t be a problem.