Nearly every application or system we build, design, or maintain requires user or administrator logins. For backend login processes, various security techniques and types of logins can be used, but this article will not focus on that aspect.
What's very important, and always a subject of discussion with our beloved clients, is the method of delivering emails from the system to the users. Email sent from Gmail or other email providers between users is an old technology, dating back to October 29th, 1969.
Mastering Email Deliverability: Marotino’s Strategy for Developers
However, when scaling a system, a decision must be made whether it's better to offload the sending of system emails to an external provider or to build a dedicated system.
I should add that system emails include those sent when a new user creates an account and needs to receive an email to confirm their address and, for example, click an 'Activate Account' button. This type of email is also a lifeline for those who forget their passwords, receiving an email that can help them reset it. It could also be an email sending a code for two-factor authentication. So, if we have, say, 1000 users, the volume of emails sent from our system starts to become quite significant.
We all know that sometimes we anxiously wait for that email to quickly confirm and proceed with the password reset process or activation as a new user.
I would like to warmly greet one of our clients who has long insisted on having their own instance for sending emails. This discussion gave birth to the idea for this blog post :)
Here we reach the point where I, as an application builder, must outline the pros and cons of outsourcing email sending versus keeping it in-house.
Pros of using external operators for system email delivery:
Warmed up IP address for sending
Always correctly set DKIM and SPF parameters
Panel to view bounces and sending logs
Ease and speed of implementation
Option to purchase a dedicated IP for sending
The operator manages security
Costs with large volumes and the second way of delivery
Pros of building your own infrastructure:
Ability to highly customize the sending process from A to Z
Significant savings with a large volume of emails
Cons of having your own sending system:
High costs for a small system
The continuous need for DevOps attention regarding security
Necessity to monitor blacklists
In conclusion, we usually advise integrating with SendGrid for small projects we build from scratch. We have been working together for over 5 years. Our developers quickly implement this form of sending in every ecosystem. Even in the free plan, it is very well resolved and ensures peace of mind in this aspect of system building. We must emphasize once again that in the era of numerous spam-class emails, we must be sure that our email reaches the main inbox of the new user of our system. Therefore, we cannot ignore the aspect of the deliverability of system emails.
Thank you very much for taking the time to read this post. If you have any questions, please feel free to contact our sales department, which can provide more details on the subject, and in case of implementation problems, we can meet with our development team.