How to Verify Emails Easily, AccuratelyBlog, Tutorials and How To's - December 29, 2012 admin 2 comments
Have you finally bought or assembled an Email List for your Marketing Campaign and are trying to figure out how to verify emails?
Do you want to clean up and get rid of invalid and dead emails?
I tried a bunch of email verifiers both paid and free and I must say experimentation costs you time and money. I realized some were checking DNS, some were validating the email format. The results were not accurate enough and gave you less control. Difficult and poorly explained software settings caused certain servers to ban our requests and we were unable to get any information about a bunch of Emails. Besides it was constant work for us collecting, sifting, saving and managing emails and lists.
I was not making money by email marketing and I did not want to try costly email verifiers. This Apart Web Based email verifiers seemed to be promising. They generally allow Email Verification at the rate of 1000 emails / $ 10 etc.
The most efficient and almost free(your web hosting is not free and comes at a price) method is actually sending the Emails at least ones and Marking the ones that bounce back and Removing them.
I installed PHPList from my Web Hosting Control Panel as it was a good fit for email verification and if you like for your complete email campaign – sending newsletters, emails. If you are not sure what I mean you can download PHPList from their official website http://www.phplist.com/.
These Installation instructions can also be useful to those who are trying to install/ setup and configure PHPList to manage their Email Campaigns.
PHPList Installation and Configuration Steps to make it work like an Email Verifier:
- Install PHPList. You can install it from you web hosting control panel using scrip installer available scriptaculous or fantastico.
If you do not have access to these and need to do a manual install by creating the database and uploading files here are the steps. http://docs.phplist.com/PhplistInstallation.html
- Browse to the phplist admin. If you installed phplist in root folder. It will be http://yourdomail.com/phplist/admin. Login.
- Click on Configure on the right sidebar once you are logged in
- Input your domain name and email as applicable. Here is a screenshot that shows 7 values you need to fill marked in red below.
- Now Open the config.php file in the phplist folder on your server phplist/config/config.php. You need to add several values to it.
- At Line number 71 I added the message envelop. I added the default email of my main domain in the Hosting Control Panel. My main domain is satyamtechnologies.com so my main email was firstname.lastname@example.org
- Line Number 84, 85, 86 enter the email server, email username and password. I entered the main email username, password for my domain satyamtechnologies.com in Hosting Control Panel and it was satyamte.
The username and password for this was same as the hosting account’s username and password in my case.
- At Line Number 112 Set the number of Bounced Emails to mark an Email to be unconfirmed to 1. This will cause an email that bounced to be marked unconfirmed and it will show in red color in the Email List.
- At Line number 37 include include your user in the command line users array in the same way as I included “satyamte”.
The script is time consuming you will need to set it to process by cron. I will explain cron details at the end.
- At Line Number 331 Setup Mail_Que_bath Size i.e maximum number of emails that can be sent per hour. Ask your Web Hosting Provider, My server has a limit of 200/ hr. To be safe I set it to 120 for a period of 3600 secs or 1 hour.
At line 343 set the mailque_batch_period to 3600 as you want to send 120 emails per hour.
At line 350 set the mail Queue throttle i.e the time gap between 2 emails. Some maths here. If I have to send 120 emails/ hour then I can send 2 emails in one minute or 1 email in 30 secs. In 1 hour it will be 120 emails. So I set MailQueue_throttle to 30.
- You can turn click track at line number 455 to ON by setting the value to 1. This will enable you to see statistics about email opens and clicks.
- At line number 474, 475 and 476 set the number of emails that can be sent to a particular domain per hour. I set it to not more than 10 emails per hour per domain.
If your email list contains quite a number of emails from one domain hotmail, yahoo, google etc there are chances of annoying them if send too many invalid emails. So setting domain throttle can take care of it.
- You are finished editing the config file. You can save and close it. Now the only thing remaining is setting up 2 cron jobs. One for sending emails (processque) and one for processing bounces(bounceque).
- Login to your Web Hosting Control Panel and click on Cron Jobs.
- Set up Process Que Cron to run approx 2 every two hours:
0 0,2,4,6,8,10,12,14,16,18,21,23 * * * /usr/local/cpanel/3rdparty/bin/php -q /home/satyamte/public_html/phplist/admin/index.php -pprocessqueue -c/home/satyamte/public_html/phplist/config/config.php >/dev/null
- Set up Process Bounces to run every two hours and just after one Process Que run is finished.
- Process Que Cron:
0 1,3,5,7,9,11,13,15,17,19,21,23 * * * /usr/local/cpanel/3rdparty/bin/php -q /home/satyamte/public_html/phplist/admin/index.php -pprocessbounces -c/home/satyamte/public_html/phplist/config/config.php >/dev/null
- Please note that the user “satyamte” in the crons needs to be replaced by your Server’s username. Also the path to php and complete path to phplist index and config file may vary for your server. You can get this information from your Web Server Guys if needed.
- At this point you are all setup the only thing remaining is testing. 4 things you need to do to test.
- 1. Create an email list and add a few emails to it.
- 2. remove “>/dev/null” from the two cron commands and save.
- 3. set the two crons to run every minute.
- 4. Add your Email Address to the cron page so that all cron results are sent to your email.
- Remember You will need to set this settings back to mentioned in the previous steps once you make sure the crons are working fine and do not show any errors to prevent server resources from draining.