Richard Hordijk

Email delivery at Copernica and the power of MailerQ

Written by Richard Hordijk on

A few months ago we announced that we started using MailerQ, our new Mail Transfer Agent (MTA), to send all our users' emails. A lot of users asked us what the benefits are of using MailerQ and to show us some numbers. With the holiday season in full swing it is the perfect opportunity to show what MailerQ does for email delivery.

The science behind email delivery

Sending email is easy, just press 'send' and your message is launched into the black hole that is the internet. However, actually delivering millions of email messages is an exact science. Every ISP (Hotmail, Gmail, Yahoo, etc.) has different rules for accepting email. So whilst, for example, Gmail will accept thousands of non-spam emails from the same reputable sender every minute, other ISPs are not so liberal when it comes to accepting large volumes of email messages. With thousands of small and big ISPs, delivering email is a complicated task.

MailerQ provides us with the tools we need to deliver your email messages, even to ISPs that do not like accepting large volumes of email. Now, let us show you what goes on under the hood of Copernica's email delivery.

Intelligent delivery

MailerQ is an intelligent MTA: it automatically retries emails when they cannot be delivered initially, it does not send email messages it knows cannot be delivered, and it adjusts its send speed to the capacity of the receiving mail server. This means that if your email message can be delivered, MailerQ will deliver it.

Besides the automatic retries and speed adjustments we also continuously monitor email delivery. We use our experience to adjust and improve these settings on the fly. In the MailerQ web-interface we can quickly react to errors from receiving mail servers and set up automatic responses to further improve email delivery. We watch our email delivery 24/7, so we are always on top of your delivery.

Copernica and email delivery

At Copernica we run multiple instances of MailerQ, most of which are 'bulk senders'. These send out your newsletters or other large volume mailings. We also have a 'single mail sender'. This single mail sender does exactly what the name suggests: it sends single emails. These are your abandoned shopping cart campaigns and other automated campaigns. This means your automated campaigns are not placed in the same queue as large newsletters and will always be sent instantly.

Let's take a look at the management console of one of our running MailerQ instances and see what happens when our users press the 'send' button.

click for full image
MailerQ Mangement Console
Figure 1: MailerQ Management Console

In Figure 1 you can see the delivery graph of one of our MailerQ instances. Let us take a look at the numbers:

29088 messages processed
This is the amount of messages MailerQ has picked up in the past 60 seconds. MailerQ will not pick up all the messages in the queue at the same time because the strain on the receiving mail servers would be too much, meaning those extra messages will not be delivered.

28752 delivery attempts
The amount of messages MailerQ tried to deliver. MailerQ does not try messages it knows cannot be delivered beforehand. This counter can be lower than the 'processed messages' when MailerQ pauses delivery to certain domains.

27737 delivered
The messages MailerQ delivered in the past 60 seconds.

1027 Failures
Messages that MailerQ could not deliver. Delivery can fail for several reasons. MailerQ uses failure information to adapt to the status of receiving mail servers. Messages with a temporary error are retried at set intervals until they can be delivered.
Note that most failures are not hard bounces, but temporary errors from receiving mail servers

176 Not tried
The amount of messages MailerQ has not tried. MailerQ remembers the 'last known' status of a mail server and will temporarily stop trying to deliver messages to mail servers that return errors. During this time messages directed at these mail servers will not be tried. Once the mail server is available again MailerQ will deliver the messages.

What does this mean for the delivery of your email?

Those numbers are pretty cool, but what do they actually mean for the delivery of your email messages? By adjusting its send speed to the receiving mail servers MailerQ makes sure it does not upset those servers and achieves the maximum delivery speed to those servers. The automatic retries also make sure that a message that cannot be delivered initially, will be delivered once the receiving mail server is available again. This way your email is delivered as fast as possible, without damaging the senders reputation on those servers.

In theory MailerQ could send out 20+ times as many emails every minute. However, overloading receiving mail servers will only upset them and will greatly decrease the amount of emails that are actually delivered.

How to improve your own deliverability

We make sure your email is delivered as fast as possible. We watch the delivery of your email 24/7 and if an email can be delivered, it will be delivered by MailerQ. However, there are certain aspects of deliverability that we cannot manage for you. There are a few things you can do yourself to make sure your email can be delivered by us:

1. Keep your database clean

A clean database without duplicate profiles and proper bounce management is the foundation for sending good, relevant and deliverable emails. Read our database management documentation for more information.

2. Sign your email with DKIM

Setting up a DKIM record for your account is recommended. It shows that the message comes from you and not from us. Several big mail servers use DKIM to filter out spam messages.

3. Set up a Sender ID

Setting up a Sender ID helps large mail server such as Hotmail and Yahoo to confirm that emails are actually coming from the company they say they are coming from. Just like DKIM this is used to check if email is spam.

4. Keep your spam score low

In Copernica we check your spam score. This score is determined by a large number of checks performed on the content of your email and several DNS based checks. The lower the spam score, the higher the chance the email can be delivered. Read more about lowering your spam score.

5. Set up working unsubscribe behaviour

Setting up unsubscribe behavior is important, if your recipients cannot unsubscribe from your newsletter it is considered spam. Read how to set up unsubscribe behavior in Copernica.

6. Use double opt-in for new subscribers

The double opt-in is not strictly necessary, but has several advantages compared to the single opt-in. Read more about creating a double opt-in in Copernica

This is only the tip of the iceberg, if you have any questions about MailerQ, deliverability or this blog post feel free to leave a comment below or contact us.