On 2008-01-13 at 15:40 -0800, chuckee wrote:
> I want to have Exim open on port 80 on my server (say, myserver.com),
> however I also have a website that needs to be visible (on port 80), at
> least on www.myserver.com and also myserver.com if possible.
>
> I need Exim open on port 80 because many of my users are accessing Exim from
> networks where port 80 is the only port that is open (e.g. airports).
>
> What would be the best way to do this? I don't want to have to have
> port80.myserver.com as the server.
Quite aside from the policy and other issues raised, technically you
can't reliably do this.
In HTTP the client sends first and an SMTP banner would be quite bad
unexpected data. In SMTP, the server sends first, sending a banner, so
the client waits until it sees something from the server.
If SMTP clients sent first then you might have been able to do a clever
protocol analysis hack in the web-server to pass things off to Exim, but
they don't and so you can't.
The only other technical approaches would involve things like HTTP
CONNECT and running special client software to set this up.
If you have to provide service to people in such draconian environments
and you're sure that you won't be an accessory to anything like managing
to leak customer data out of a corporation, then you'd be better off
looking to the future, when you need a second service outbound, and
instead use SSH on port 80 with a port-forwarding service and use the
existing SSH tunnelling tools which already exist.
-Phil