I became a new customer of SendGrid a few months ago. The biggest draw to them was the features they offered for an affordable price. Though, chances are you know all about their features. What you really want to know is how to fix Yahoo deliverability issues.
You should know that I had Yahoo deliverability issues from the day I signed up and got a dedicated IP. The date I signed up and started to send mail through SendGrid was October 24th 2016.
The day Yahoo emails actually started being delivered? December 1st 2016. That is a total of 38 days before I could even reach my Yahoo users. Yes, it was an absolute nightmare, and I was close to jumping ship.
Before we get to the solution (spoiler, there isn’t one), let’s first make sure that you have everything set up properly for best sending practices.
Each email provider has a slightly different way of authenticating emails. SendGrid has authentication steps listed under Settings -> Whitelabels.
Before you send a single email, make sure you complete each section:
- Whitelabeled Domains
- Whitelabeled Email Links
- Whitelabeled IPs
I am not going to walk you through this because if you are at the post, chances are you probably already did all this. If you want to avoid having emails bounce or being deferred then make sure these 3 steps have been completed.
Make sure your Sender IP is Clean
I am fairly certain that SendGrid provides clean mailing IPs, but you should always double check and make sure your dedicated IP is not listed on any black sender lists.
Head over to mxtoolbox or SenderScore to check your IP against known blacklists.
Also check the health of your IP sender score, which can also be checked at SenderScore.
Let’s assume you have a clean IP and a 99% sender score. Yahoo should love you at this point right? Well, you’d be wrong. Even so, it’s important you check these to make sure it’s not causing problems.
E-Mail Best Practices
Make sure you use best practices when sending email to give you the best chance that an email will reach an inbox.
Again, I’m not going to go through this here because I am assuming you know what you are doing.
If you are new to email then read up on SendGrid’s Best Practices.
What I will emphasis here is to make sure you use List-Unsubscribe headers in EVERY single email you send. Sendgrid talks a bit about why they are important.
You want your users to be able easily click to opt-out of email rather than click the SPAM button. There is an easy way to add unsubscribe links to your footer on every single email.
You may also want to create Unsubscribe Groups for the different type of emails you send. You might have different newsletter types, or transactional emails, Re-Enagement Emails, etc. Each type can have its own subscription group that a user can opt in or out of.
It’s an awesome feature and the main reason why I am using SendGrid. Delve deeper into SendGrids official libraries for more information on how to use it within your apps.
If you guys make a comment and want to see my PHP code then I’d be happy to paste it here, but I don’t want to get too off topic.
Now, if you’ve already done all that and are still having problems then continue on.
Reach Out to SendGrid
Reach out to SendGrid’s support team to make sure that they know about your issue. Their support team is generally pretty helpful in the few times I contacted them.
However, in regards to deliverability you will likely get a generic reply about what a deferred email is and best practices.
Chances are, their support team can’t help you. You see, SendGrid is supposed to already warm up and IP for you. I mean, they invested money in a Warm-UP IP video, so you’d think this thing is pretty top notch huh?
Well, I am sure I went through the warm up IP process but it didn’t help me with Yahoo email being delivered.
If you want to ensure Yahoo users will get your mail then look for @yahoo.com emails and send one through SendGrid and send another through your web server’s mail or your previous email provider.
When you see Yahoo mail starting to be delivered then disable the 2nd option.
I didn’t use this method for all emails, just the extremely critical ones like password resets, etc. Once I noticed that email was being delivered I switched it back through SendGrid.
Chances are that every single email provider you send to will accept your mail without a problem. If there are some that are blocking you, then reach out to them through the proper channels and they will remove the block. I had to do this for att.net emails.
Take a close look at your Activity log to see which emails are being blocked or deferred.
The solution to Yahoo is to just wait. Yep. That’s it. Just wait. You can’t do shit about it. As long as you are following best practices then it’s just a matter of waiting for Yahoo to accept the new IP.
I sent a Yahoo Bulk email request form and never heard back from it. It’s possible it helped, so you may want to fill it out as well.
In the meantime, I kept sending emails through SendGrid and they kept getting deferred. Occasionally there would be a random day or two that a few emails would actually arrive at inboxes but then it would go back to being deferred.
Keep an eye out for those days! It’s a good sign.
Notice those days where Delivered is above 100%? That’s because the differed emails started to go through and more were being delivered than sent until things normalized.
My delivery rate is now around 94% which is great and probably what I had before I switched to SendGrid. The remaining 6% of emails not being delivered are people who have opted out or bounced.
If you have a similar story or have a better solution then let me know.