To recap - Comcast has added many of it's IPs to the SpamHaus PBL, which block messages originating directly from a Comcast client system (ie at home). Comcast blames the hosting companies subscribing to the SpamHaus list and refuses to acknowledge thy have done anything. The SpamHaus PBL is managed by the owners of the netblock (Comcast)
I've confirmed the issue mentioned in the comments. If you send a message from anywhere, that contains a link or URI pointing to a host in the PBL the message will be block. Nice.
The first step might be to sign-up for Comcast business class. That will cost an additional $15/mo (for us it was $45/mo now $60/mo). Ok, $15/mo additional to Comcast to undo the damage they have created. Oh! But there is a $250 install fee, unless a three year contract is signed.
I called Speakeasy but then remembered they now owned by Best Buy which I hate.
I could use Clearwire but that is the worst service in the world.
I really wish the government would step in here and allow other carriers on the Comcast lines, like they allow multiple carriers on the copper installed by Qwest or the Bells back in the day. It seems odd that one set of lines has competing carriers and the Comcast lines have only Comcast service available - wasn't that they type of monopoly that the Gov't broke up so many years ago?
So, is it worth an additional $250/otc + $15/mo so I can send emails from my billing program? Nope, I'll simply move the program onto another server I operate and send from there so that neither my sending host or link destinations are suspect.
As for links that I still need pointing back to my "suspect" host I've created a nice rule on my primary domain. So instead of linking to the blacklisted IP or a hostname that resolves to this blacklisted IP I can link to my primary site, and rewrite the URLs to my blacklisted host.
This simple Apache trick does it.
RewriteRule ^/carbon/(.*) https://carbon.edoceo.com/$1 [R=301,L]
So now I can send clients to my blacklisted IP/host (carbon.edoceo.com) by sending links to my primary host, sample below.
carbon localhost # curl -v http://edoceo.com/carbon/edoceo-graph-paper.php * About to connect() to edoceo.com port 80 (#0) * Trying 22.214.171.124... connected * Connected to edoceo.com (126.96.36.199) port 80 (#0) > GET /carbon/edoceo-graph-paper.php HTTP/1.1 > User-Agent: curl/7.18.2 (i686-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8j zlib/1.2.3 > Host: edoceo.com > Accept: */* >