Verizon, in its eternal quest for World Domination Through Customer Annoyance, has decided that Spam Is A Problem.
Good for them, you might say — nobody likes spammers, and doing something about it must be a Good Thing™, right?
Of course, there’s a right way and a wrong way to do something like this. The right way would be to, say, traffic-shape or selectively block outbound Port 25 connections for users who were sending copious amounts of email to many different addresses (I’m sure SpamHaus and similar organizations could give them many a pointer along those lines.)
The wrong way (and unfortunately the easy way), of course, would be to decree that Port 25 is a Bad Thing™, and to block outbound Port 25 connections for all Verizon end-users.
So a few days ago, my email client could mysteriously no longer connect to the mailserver for outbound mail. Diagnosing it, I found that I was otherwise still connected to the ‘Net, and that the mailserver (gotta love Linux-based hosts with shell access) was still happily accepting connections from everyone but me. In fact, it was still talking to me, too — but only via POP.
The next step was to try from somewhere else. Being lazy, I fired up my Drexel VPN connection. Sure enough, everything started working again. HMM.
A Google search quickly fingered Verizon as the culprit — but the problem was, what to do about it? Verizon’s advice (“Just Use Port 587!”) was very unhelpful, as my mailserver had no idea WTF they were talking about.
Not having many other options, I found several pieces of advice on the ‘Net, including advice to forward Port 25 to 587 (a nasty hack that I didn’t want to inflict on a production host), to modifying the Sendmail configuration (always scary). I ran out of other options, though, and so started playing with the Sendmail configuration.
After one attempt that didn’t work so well (Sendmail started working on Port 587 but no longer bound to Port 25 — OOPS!), I finally found a helpful site that showed how to add an entry to the sendmail.mc file to make it listen on both ports. (This involved editing the sacred “Do Not Edit This File” sendmail.mc file — but that only added to the fun.)
The story has a more-or-less happy ending, with the usual trope of the villian skulking off to do yet more evil deeds in the sequel. My mail is working again, and I have actually managed to modify Sendmail without causing a huge mess.
I gotta get a real ISP one day.