Troubleshooting Email Delivery
Sending Email Through Your Web Site: The Basics
DAP is not an email service (like, say, Aweber).
DAP is just a script – a tool – like Microsoft Outlook or Thunderbird – that simply sends out email using your web host’s email server.
It is your web host’s mail server that actually sends out the email to the recipient. So once DAP notifies your mail server about a email that is to be sent, it has absolutely no control over what happens next.
It’s like when you put an envelope with a letter (regular mail) into the mailbox (post box). It is up to the Postal Service to actually pick up your letter, and deliver to the destination address. Your web host is like the Postal Service. If it doesn’t pick up and deliver the (e)mail, then DAP doesn’t have any say in it.
So if the emails that DAP sends out are not getting delivered to your recipients (or landing in the spam/junk folder of the recipient), there could be more than one reason for that.
Improving Email Delivery
DAP uses your web host’s email servers to send out emails.
Here are some ways to improve email deliverability and also avoid your email landing in the recipient’s junk/spam folder.
- Check with your web host to make sure they have “Reverse DNS” setup and configured correctly for your domain. If not, then this is most likely the cause of emails not getting delivered.
- Do not use a Gmail or Yahoo or some other web based email as the “From” email id (under DAP Admin > Setup > Config).
- Instead, use a domain-based email id – like You@Yoursite.com or Support@Yoursite.com – as the “From” email id
If you are on a shared host, you may even consider totally by-passing sending emails through your web host, and instead use DAP’s “SMTP” feature to send emails out through an external email system – like Amazon’s SES (Simple Email Service) , Gmail or AuthSMTP.com.
Welcome Emails Not Going Out
If Admin notifications are going out ok, but the welcome email to the buyer/member is not being delivered, then see Troubleshooting Welcome-Email Delivery
Autoresponder Emails Not Going Out
If yours is a new site setup, then this is usually because the hourly cron-job has not been setup.
However, if the emails were going out fine previously, and suddenly stopped going out, then it usually is because…
- Something changed on your host that caused the cron to stop working.
- There is an error in the job queue, because of which DAP is unable to proceed with the remaining non-error emails. This could have happened if you tried to send out a broadcast to a CSV list, and there was an error in one of the emails from the CSV list.
- You’re trying to use a third party “SMTP” server to send out the emails, and your server is unable to connect to that server because the authentication settings you’ve configured on “Email > SMTP” are incorrect.
Steps to troubleshoot
- Make sure that the hourly cron (dap-cron.php) is still running – you need to look at your web hosting control panel for that.
- Go to “System > Job Queue” and scroll through any items there, and see if there are any scheduled messages there with the status “Error”. If yes, then click on the “Delete Jobs In Error” link. That will delete any jobs that can’t be processed because of an error in the email id or in the import process. Also be sure to click on “Delete Successful Jobs (till yesterday)” just to clear up old, sent emails.
- Also go to “System > Logs” and empty the logs.
- Go to “System > Config” and set “DAP Log Level” to “5”. That will start logging all the details you/we may need for troubleshooting.
- Wait for the top of the next hour and then re-visit the queue and see if emails are going out.
- If they still aren’t going out, go back to “System > Logs”, copy paste all text there, and open a new ticket with that info, of course, also giving us more details about the problem, what you have tried, etc, along with your login info for: FTP, WP Admin, DAP Admin, and Web Host Control Panel.
If your inexpensive (read as cheap 🙂 shared web host is hosting a large number of sites on one server, and one of them knowingly sends out spam (or mistakenly gets flagged for spam), that will put the email deliverability of every web site on that server in jeopardy, because your site now shares the same IP address as that of an “alleged” spammer.
So your emails get sent to junk/spam folder by Gmail and Yahoo. Or worse, they just totally disappear into the ether.
Hourly Email-Sending Limits
Almost all shared hosts have hourly email sending limits. For example, DreamHost has an outgoing limit of 300 emails per hour. Which means, a total of only 300 emails can be sent out per hour through any web site hosted on DreamHost. All of the following count towards the 300 limit:
- Emails sent by any scripts on your site – like DAP
- Your WordPress blog notification emails
- Your WordPress admin emails,
- WP forgot password emails,
- WP comment notification emails,
- Forum notification emails,
- Forum emails sent to each other by your users,
- Forum-software Admin notification emails,
- Support software user and admin notification emails
- Tell-a-friend emails
- Viral-inviter type emails
- Emails sent through Outlook or Thunderbird where you have set the outgoing SMTP server to be your web site’s SMTP server
- Emails sent by others using the same SMTP server to send out emails- like your business partners, employees, etc
- DAP User welcome emails, Payment notification emails, Forgot password emails, Autoresponder emails, Broadcast emails, etc
So do you see how quickly you can go over that hourly limit of 300 emails per hour?
But here comes the worst part…
Once you go over that limit, any emails that are actually sent by you or the scripts running on your site, will not actually result in any kind of error. The mail server will respond by saying that the email(s) has been sent successfully, but in reality, on the backend, it quietly “snuffs out” the email. Which means, it doesn’t go anywhere – just gets sent to a “blackhole”. So you keep thinking that you sent out the email. DAP keeps thinking it has sent out the email. But in reality, the emails never actually get sent.
This is the same as you actually putting your letter into the mailbox at the Post Office. But then, imagine this: The postal worker who comes to pick up your mail, quietly goes to the back of the post office and dumps it all into one giant trash can, and destroys all of the mail. So you’re thinking you actually mailed out that important check to pay your utility bill. But the utility company never gets your check, and they slam you with a late fee.
1) BEST OPTION: DAP + 3rd party SMTP service provider like Amazon SES, AuthSMTP.com or SMTP.com. (much less expensive than Aweber, and very reliable too)
2) DAP + Aweber (more expensive, very reliable)
3) DAP + Good web host (cheapest option, but can lead to mixed results – depends on your host).
You could always use DAP and external SMTP service provider like Amazon SES, AuthSMTP.com or SMTP.com to send out bulk mail through DAP while totally bypassing your web host’s email system. This is probably the first best option where DAP controls the composition and sending of the email, the 3rd party service controls the deliverability.
Next best option is using a service like Aweber or GetResponse.
And if you can’t afford even that, then simply use DAP on a good web host. We ourselves use just DAP and LiquidWeb’s email servers to send out emails to all of our users.
And DAP also has built-in job queues to schedule outgoing emails while also making sure that you don’t exceed your web host’s hourly email sending limits (dreamhost’s limit is 300 emails/hour, I think). We use multiple SMTP servers from our own other web sites, all combined to be able to send a few thousand emails per hour.
But even with a lot of planning, it is easy to go over the hourly limit.
So the next time you see in your Job Queue that emails were sent out successfully, but the recipient never received it, here are some things to check:
1) It landed in your recipient’s junk/spam folder. Ask them to whitelist or add your email address to their contacts list.
2) You have overshot the limit, so you would have to actually send out the email again.
3) Try to send out broadcasts during a low-traffic time – say like later in the night – when you’re not actively sending out emails, and using up precious email counts from that hourly quota.