Search code examples
node.jstcpsmtpimapmail-server

imap.domain.com - how to forward to port?


I'm trying to make an imap server from scratch in node.js (primarily to learn about node.js and imap protocol).

How do I direct traffic from the imap subdomain (imap.mydomain.com) to port 143 on the server (where my server code is listening). I've updated iptables with this rule:

-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT

But it still doesn't work.

My DNS is like this:

A record - mydomain.com => 1.1.1.1 (my example ip address)

CNAME record - mail.mydomain.com => mydomain.com

mydomain.com redirects and is handled by apache. Could apache be overruling it? Maybe I need to add a host in /etc/hosts for the sub-domain?

Also, when doing telnet:

telnet 1.1.1.1 143

I get a "no route to host" error. So that tells me the route direct via the ip from the sub-domain doesn't work either...

I've checked out dovecot and postfix and it seems like they handle the port listening internally, so I couldn't see any clues from their install / config instructions.

It would be great if anyone could offer instructions on how to make sure the imap.mydomain.com subdomain properly forwards to the imap server.

Thanks!!!


Solution

  • There is no redirection or forwarding. IMAP is simply a different protocol than HTTP (i.e. "web") and to use IMAP the server has to listen on port 143 and the client has to connect to this port. Just look at the settings of your mail client.