Performance of SMTP servers with Kentico
How quickly can you distribute emails to your recipients using SMTP servers? Is Kentico capable of sending out a massive blast of marketing emails?
For testing purposes, we created two contact groups containing 10k and 100k contacts. We used the predefined email from the Dancing Goat newsletter that you see in the screenshot below (you can also reference it in our sample Dancing Goat website).
Apart from the text content, the email contains buttons, images, links, and few macro expressions that are optimized for composing marketing emails. Macro optimization is a crucial factor when talking about email sending performance as some macros may need to be resolved for each recipient separately. Macro resolution happens when you hit the send button.
With macros in emails, the recommended practice is to:
- Use the default optimized macros.
- Use as few custom macros as possible.
This recommendation comes from past cases submitted to our Support and Consulting departments. They've confirmed that the more macros (especially custom ones) you have, the longer it takes to generate the emails.
Tested SMTP servers
Due to the limitations of the Office 365 SMTP server mentioned in the previous article, we’ve only considered the send rate for Sendgrid and Amazon SES SMTP servers. Both services have reporting tools that measure the send rate as well as provide you with a sandbox environment for testing.
Amazon SES SMTP server
If your account is in the sandbox, you can send up to 200 emails per 24 hours. If your account is out of the sandbox, the sending speed then varies based on your specific use case since every Amazon SES account has its own set of sending limits.
Sendgrid SMTP server
Sendgrid allows you to send your test emails to any address that uses the @sink.sendgrid.net domain and measures how quickly your emails go out. In real use cases, the speed varies based on the chosen plan.
Both services on their highest tiers are able to send more than hundreds of emails every second.
How Fast Does It Get?
Let’s go back to Kentico. In our test case, we tried to send the aforementioned email to 10k and 100k recipients.
In the test, we were using the Kentico email queue so we could inspect the sent emails. For clarity, here is our test machine configuration:
- Processor: Intel Core i7-7700, 3,60GHz (8 CPUs), ~3,6GHz
- Memory: 32GB RAM
The email generation took the following time:
- 10k emails: 1 minute 54 seconds
- 100k emails: 20 minutes 15 seconds
The numbers we achieved in our test are really just informative. They are tightly bound to the particular use case since the time of generation depends on used hardware, the complexity of the email, email queue usage, among other factors and variables. The generation can also be further optimized to achieve higher speeds, for example by disabling tracking of clicked links or opened emails.
Therefore, if your SMTP server is quick enough, you may be able to send out emails as quickly as Kentico generates them.
Don’t be afraid to test the Kentico email sending capabilities beforehand – you’ll get useful information that can help you tune up your email sending speed.