I recently paid a phone bill online for Comcast, and in order to do so I needed to set up a Comcast email account. While browsing through their documentation trying to locate an IMAP server, I ran across this priceless gem:

Error #1 - Port 25. Secure (SSL); no Socket Error: 10053.  Error Number 0x800CC0F.

This error indicates that your port 25 has been blocked.  Comcast has
determined that your computer has been infected with a virus and has
been used to send out spam, liekly without your knowledge.  By closing
this port, we've taken steps to protect your computer from being used
to send spam.

How can I send email again?

If you would like to send email through Outlook Express, you can click
here to access a simple to use, one-click fix, which will upgrade
Outlook Express to send email through alternate port 587.

Your computer has a virus spewing junk to port 25? No problem, simply move your activities somewhere else :p. You would have though maybe links to anti-virus software, since I suppose linking here is probably to complicated for Comcast to handle ;).

Sadly Comcast doesn't support IMAPS:

William_(Tue Sep 02 2008 11:03:01 GMT-0400 (EDT))>
I was wondering if there is an IMAPS server

Romeo.25655(Tue Sep 02 2008 11:03:39 GMT-0400 (EDT))>
William, Comcast supports POP server only.

William_(Tue Sep 02 2008 11:03:54 GMT-0400 (EDT))>
are there IMAP plans for the future?

Romeo.25655(Tue Sep 02 2008 11:04:33 GMT-0400 (EDT))>
I am not certain about that, William.

William_(Tue Sep 02 2008 11:04:52 GMT-0400 (EDT))>
Is there someone else I should ask?

Romeo.25655(Tue Sep 02 2008 11:06:25 GMT-0400 (EDT))>
At this time, the only server that we sure for our email is POP. There
is no plans to use IMAP.

After some googling about, I found out how to setup Mutt to not delete messages it downloads from a POP server, and got Comcast working through Mutt. I was uncertain about the encryption, since Mutt fails on its first few authentication attempts, so I tcpdumped the connection with

# tcpdump -A > /tmp/dump

and grepped through the output for my username and password. No matches, so apparently pops in the server name is sufficient for hiding the authentication.

I put the Comcast information in a new file:

$ cat ~/.mutt/comcast
# Comcast information

# Comcast mail server addresses from
#  http://www.comcast.com/customers/faq/FaqDetails.ashx?Id=2165
# Ports from
#  http://www.comcast.com/customers/faq/FaqDetails.ashx?ID=2288
# email server location
set spoolfile=pops://<comcast-username>@mail.comcast.net:110/INBOX
set folder=pops://<comcast-username>@mail.comcast.net:110/

# gmail does this automatically
unset record

# use msmtp to send outgoing mail to the mailserver
# see ~/.msmtp for configuration
set sendmail="/usr/local/bin/msmtp -a gmail"

set from="<gmail-username>@gmail.com"

set nopop_delete
set pop_checkinterval="600"

and added Comcast entries to my main Mutt configuration:

$ cat ~/.muttrc
mailboxes imaps://<drexel-username>@imap.mail.drexel.edu imaps://<gmail-username>@gmail.com@imap.gmail.com pops://<comcast-username>@mail.comcast.net
…
account-hook pops://<comcast-username>@mail.comcast.net \
    'set pop_user=<comcast-username> pop_pass="<comcast-password>"'
folder-hook imaps://<comcast-username>@imap.comcast.net 'source ~/.mutt/comcast'