You have heard me share information about the fiasco that Verizon created. In case you haven’t heard, I’ll recap quickly. In the name of fighting SPAM, Verizon decided that they would block ALL port 25 SMTP traffic on their network for all of their ISP customers. That means that anyone and everyone that uses Verizon as their ISP (DSL, FIOS, Dial-up, etc) cannot use any third party mail server or service that is configured to use the industry standard port 25. That’s just plain stupid, but I have complained about that already.
I was in a quandary with this one, or maybe a catch-22 is a better term. If I didn’t do anything about this “problem” that Verizon created, then all the people that I host email services for that use Verizon as their ISP are now out of luck. They can’t send mail through their (read: my) mail servers. So, I can just change the port that sendmail listens on, right? Yeah, I could, and then my Verizon tethered customers can send mail again … but, all my other customers that don’t use Verizon have to change their email client settings too, since they would still be sending through port 25. OK, I didn’t want to go down that road. I wanted to fix the problem with the least impact on everyone.
Here is where good and open software shines. I found that it’s actually not hard to configure sendmail to listen on more than one port at the same time. This allowed me to fix the port 25 blockage enacted by the Verizon wieners, and not have to make all the rest of my customer change their settings. Nice, huh? So, how did I do it? It’s easy, let me show you.
First, make a backup copy of and then edit your sendmail.mc file, there is no sane reason to hack the sendmail.cf directly. Add a line that specifies an additional “DAEMON_OPTION” with the new port:
There you go, though obviously that’s an illustrative example. Let’s look at a real example, let’s say you want to set the additional port to 600 (I just grabbed that out of thin air, it could be anything). In my sendmail.mc, the “Name” for the port 25 line is set to simply “MTA”, so I kept it the same. The new line would look like this (I put it right under the original line):
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl DAEMON_OPTIONS(`Port=600, Name=MTA')dnl
There we go! It’s just that easy. Now all we have to do is backup the sendmail.cf and use m4 to generate a new one. Depending on where your sendmail.cf is located, this might be different for you, but with mine located in /etc/mail the command to regen the file looks like this:
cd /etc/mail m4 sendmail.mc > sendmail.cf
Now all you have left is to restart sendmail and you should be golden! Naturally, if you have any firewalls or whatnot in place you’ll need to open up that port but that’s beyond the scope of this post. Hope that helps, enjoy!