Mailtrap is well-known as a reliable tool for safe email testing in staging and development environments. Inspired by our customers’ feedback, in this post, we will share more advanced Mailtrap use cases.
When it comes to managing large-scale applications or services, which involve thousands of users, email sending also has new requirements. We will demonstrate how you can test distributed email sending systems, load test your app’s email sending, as well as monitor your production environment and perform real-time email tracking.
Test your email sending capabilities
When you are scaling your app, handling queuing and notifications algorithms, you still need to make sure that your system is capable of sending a certain number of emails in a limited period of time. Let’s say you need to test sending 5,000 email notifications instantly and check how much time it takes to verify that your new infrastructure performs well.
This task can be easily solved with the “email per inbox” feature provided by Mailtrap.
Starting from the “Business” billing plan, each of your inboxes gets a dedicated email address where you can send messages. You can use your current email setup without needing to integrate Mailtrap as a test server and, in this way, to run safe experiments in your production environment.
As you can see from the screenshot, the inbox address consists of two parts:
- A customizable alias, which you can edit manually. You can use any combination of numbers and Latin symbols. For example, your company name or the name of the current inbox with an identifying number.
- Mailtrap’s technical hash, which can’t be changed. It consists of 6 symbols and acts as our internal inbox identifier.
This way, you get an infinite number of combinations and can imitate sending emails to a plethora of users (with unique email addresses). The inbox name changes are applied instantly, meaning that you don’t have to pause your email testing and wait until a new alias becomes valid. Also, note that Mailtrap verifies inbox aliases so that if you try to send a message to a custom inbox address that doesn’t exist, you will get the 554 5.5.1 Error: no inbox for this email.
In addition, Mailtrap inboxes support dynamic aliased addresses. For example, email@example.com and firstname.lastname@example.org will be equally accepted and delivered to the same inbox.
As a result of testing, all your experiments will be perfectly sorted and delivered to the corresponding Mailtrap virtual inboxes. You will be able to go through all the messages and verify their content. It is crucial in those cases when you use personalization (especially in a subject line) and dynamic elements or localization.
Another important point is that sending emails to Mailtrap inboxes from your production server doesn’t affect your domain’s reputation for the main email providers like Gmail, Hotmail, Yahoo, etc. Otherwise, if you send emails to fake addresses or unengaged emails addresses, it has a negative influence on your delivery rates.
Email deliverability and email servers load are usually controlled by email throttling with certain limits applied by the ISPs (Internet Service Providers). Mailtrap provides this as with a sending rate limit of 10 seconds per inbox.
Test your large-scale distributed email system, or the email app load testing
In addition to the overall testing of the email sending capabilities, Mailtrap customers use the unique email testing addresses and inboxes to check the performance of the distributed email systems.
Large-scale systems employ numerous servers to distribute loading. Specifying a separate testing email address for each server allows you to follow and inspect failures or unexpected behavior. This way you can test and load all your resources at once and then filter the results accordingly.
Here is how it looks in practice:
- email server A sends messages to the email@example.com inbox
- email server B sends messages to the firstname.lastname@example.org inbox
- email server C sends messages to the email@example.com inbox
- email server L sends messages to the firstname.lastname@example.org inbox, etc.
Then you enter a corresponding project in your Mailtrap account and see a list of these inboxes with the number of messages in each on one screen:
This way, you can check and compare your sending capabilities and instantly identify which of your servers is experiencing problems.
You can disable the email addresses any time you need. We recommend disabling them as soon as you finish testing, to ensure more safety.
Production email system performance: monitor and verify sent messages
Once you have launched your service on production, you still need to run regular tests and checks to be sure every piece of your application works as designed. In addition to email testing in the development and staging environments, Mailtrap customers use the same “email per inbox” feature to monitor production capabilities.
For each email scenario you use in your app, you can add the Mailtrap test email address to the Bcc (blind carbon copy). This way, you will be able to monitor all messages that your users get to their inboxes. This gives you an opportunity to verify the usage of the right variables in your emails.
With the help of Mailtrap’s REST API, our clients also automate some email testing scenarios. For example, they run Selenium tests to verify the registration workflow and immediately check if the confirmation message was sent to the right email address. Unlike with fake email address used for testing, with Mailtrap, it is possible to review the email content and finalize the workflow. This way you can click the email confirmation link and check the actual app behavior.
We have created Mailtrap for the purpose of safe email testing to avoid the risk of spamming customers, colleagues, or even one’s own inbox. For all types of clients’ needs and business sizes, Mailtrap provides features for testing email sending, HTML verification, checking spam rates and blacklisting. For bigger needs and large-scale email systems, Mailtrap offers advanced testing capabilities, including Bcc support, email addresses for testing, and all-team shared access.
What is the email address per inbox feature?
It is an email address for testing, which you can customize. It supports dynamic aliases and provides you with an unlimited number of virtual email addresses. As soon as it is linked to your Mailtrap inbox, you can manage, view, and share your test results via the Mailtrap UI.
What is Mailtrap?
Mailtrap is a tool for complex email testing. It is a single place for all your test emails, with secure online inboxes with instant delivery and no risk of spamming real customers or flooding of your team’s inboxes.
How can I integrate it?
You can set up Mailtrap as an SMTP server or integrate it with your app via API.