(This post was previously published on Deliverability.com.)
Email is a fast and convenient way to connect with your customers, yet companies always want their emails to be delivered faster and faster. That is why burst rates are a common topic within the email space, but if you want your emails delivered as fast as possible, there is much more to know than simply how to hit send.
To start the topic off, let’s segment the discussion into three phases of email delivery: generation and initial deployment of an email, sending to an ESP, and delivery to mailbox providers and ISPs.
Generation & Initial Deployment Of An Email
The system you establish for generation and initial deployment of an email will be dependent on the types of email being sent. The two types of email to consider here are bulk and transactional email.
Bulk email will utilize significant resources for generation and deployment, and serialization of processes will cause all emails to be constrained to the common bottleneck. You’ll want to separate generation and deployment of email through the use of a queuing mechanism. There are several out there, but one of the best open source software packages around is called Postfix, which can act as a queuing and deployment engine.
This separation of processes adds extra reliability, error handling, and logging to ensure the best delivery of your messages. Message delivery systems, such as Postfix, have a significant amount of smarts built into the queuing and delivery of messages that handle errors and intricacies of the SMTP protocol reliably and are difficult to duplicate with home-built SMTP delivery engines.
When sending transactional email, you can also separate the process with a queuing mechanism, such as Postfix, for added reliability of delivery and logging, but depending on the use case, a serial process may be more applicable if you want to ensure the message is sent by the end of the process.
This is also possible through most SMTP or API sending mechanisms and can be added to any process such as registration, purchase, or other interactions.
Sending To An ESP
When configuring your email queuing and delivery system, or other custom built scripts to send email to an ESP, there are some best practices that will help you send to your ESP as fast as possible.
Keep Connections Open for a Time Period
When sending over SMTP, you have the option of keeping a connection open while sending many messages over the single connection. Keeping the connection open aids in minimizing the overhead of time and recourses opening and closing connections. You’ll want to leave the connection open for a set number of messages, or for a set period of time, before closing and reopening another connection.
Closing and reopening another connection will ensure that you’re set up for reliable transitioning to receiving servers that may be load balanced or have DNS changes that will send you to a different server.
Multiple Simultaneous Connections
Opening up multiple connections at a single time also allows you to send additional email. Once you’ve separated the generation and deployment processes from your connections as described above and set up multiple simultaneous connections, you’ll need to tune the amount of resources you have allocated to the generation of email vs. maintaining open connections. For instance, more connections do not always mean more email; this depends on your setup and you’ll need to find what works for you.
Delivery to Mailbox Providers and ISPs
One of the perks of working with an ESP is that they will queue up your delivery based on an ISP’s preference. Since ESPs send so many emails, they know what each ISP likes and can create configurations that adjust the rates of emails to it, thereby increasing the speed of deliverability.
These configurations detail out the number of simultaneous connections and messages per connection until close for each ISP. There are also back-off modes or dynamic back-off configurations that slow down these speeds to more conservative level that are triggered when certain bounce codes are seen from an ISP. These configurations are in place to ensure you comply with ISP guidelines, making sure your mail gets through, and have the best chance of landing in the inbox.
As you can see, sending mail to your ESP doesn’t always mean that your mail will be delivered at the same rate. Since ISP configurations for sending mail are all unique, the rate at which you can send will depend on the percentages of various ISPs in your email list, your sending reputation, and other factors like ISP load that day.
You’ll want to work with your ESP to see about ways of optimizing this for your sending capacity through utilizing shared or dedicated IP pools of varying sizes depending on the situation.
Email delivery burst rates are a complex system including the generation, deployment, queueing, and delivery of email. Added with the complexity of varying ISP configurations, you’ll want to ensure that you have an established delivery solution that fits your email needs.