If you send a huge amount of emails in a short period of time, you may risk your SMTP servers beging blacklisted or graylisted.
There are a few ways to ensure your email server's functionality.
1. Use sendmail's greet_pause
In sendmail.mc, define greet_pause as 500 mili seconds.
restart sendmail service:m4 sendmail.mc > sendmail.cf
By defining greet_pause as 500, you are telling your email server to pause for 500 mili seconds before responding to any EHLO request. So it can control the rate you send email to outside world, preventing you from flooding outside email servers.service sendmail restart
2. rotate IP addresses of your SMTP server periodically.
Suppose you are assigning management IP to eth0, you can define eth1 as the default outgoing IP address, 192.168.100.101, 192.168.100.102, 192.168.100.103 are reserved for eth1, you can write script as cron to rotate them every day.
But you have to make sure these two things:
- These 3 IP addresses are translated to 3 different public IPs on your router or firewall.
- The 3 IPs are legitimate addresses to send out email for domain in your header FROM, you need to define you dns records and reverse resolution properly. Otherwise your mails may be rejected by other servers.
Note: A few years ago, I manged 20+ email servers as part of my work, every day we need to send out tons of emails. Customers register to receive email updates from us, I am not a spammer :)