In this design, we’ll look at how to set up email load balancing for outbound emails.
If we have thousands of emails to send every hour, we’ll need a load balancer to distribute the outbound email across multiple machines. This is typically found in ISPs and large corporations.
During outbound email delivery, we used to scan the mail to check if they are spam or included any viruses with it. If the recipient servers get spam or viruses from us we could get blacklisted as a result.
Email scanning is a time-consuming process, and if we are to scan thousands of emails per hour, we’ll need several computers, or else sending will be impractically delayed.
Why load balance outbound emails?
The main purpose is to spread the load of outbound emails to multiple machines, so that outbound email scanning and sending don’t cause any noticeable delay.
How does this Design Work?
Here, Mail Sending Process is very simple, Our Load Balancer’s hostname is “smtp.mailserverguru.com”, and there are three upstream SMTP servers named “mailx1”, “mailx2” and “mailx3”
1. clients will send mail to “smtp.mailserverguru.com”.
2. The load balancer will receive mail, and send it to the one of upstream SMTP servers for sending.
3. The upstream mail server will send to the intended recipient servers.
Another outbound email scenario:
this is the practical picture of the ISP environment, where multiple organizations taking SMTP service, all are sending their mail to the ISP’s SMTP Load balancer to send to the internet.