What is SMTP Proxy server
It is a server that can be used to debug an actual SMTP server. Although many SMTP servers log
SMTP communication to log files, these log files are hard to work with if you are looking to track a
specific email. SMTP Proxy server is a very useful utility if you are trying to debug problems with your
email server. It can tell you:
- Who is sending emails to your server
- Who is the sender
- Who are the recipients
- Did your server accept the message
By setting up a SMTP proxy server that allow to see all traffic between sender and receiver, you can find out
if the messages are going through the way they should be.
Usage Scenarios
Example 1: Your emails are rejected by some servers, for example AOL |
|
|
This is a very common problem that is faced by many administrators. Follow the steps below to
debug this problem.
Assume that:
- your email server is running on 192.168.1.5
- you are running Smtp Proxy on 192.168.1.10
- you are trying to debug problem between your and AOL' server
Steps
- Find you the IP address of AOL's SMTP server. This is done by running a
DNS Lookup against aol.com, which returns
the following values.
- mailin-01.mx.aol.com
- mailin-02.mx.aol.com
- mailin-03.mx.aol.com
- mailin-04.mx.aol.com
- Temporarily modify the HOST file on your email server to bypass your DNS server. One Windows the host file is
located in %WINDIR%\System32\drivers\etc\hosts
- Put following values in the host file.
- mailin-01.mx.aol.com 192.168.1.10
- mailin-02.mx.aol.com 192.168.1.10
- mailin-03.mx.aol.com 192.168.1.10
- mailin-04.mx.aol.com 192.168.1.10
This will cause your SMTP server to send messages for AOL to the machine where SMTP Proxy is running
- Run SMTP Proxy on 192.168.1.10 using following values.
Proxy Port: |
25 |
Actual Server Port: |
25 |
Actual Server Host: |
mailin-01.mx.aol.com |
Save Emails to: |
<Leave it blank> |
- Now send an email to any AOL user
- If AOL reject your email it will most likely give you a reason
- If you see a DATA command and a status of 250 returned back from the server, it means that
message was accepted by AOL
|
|
|
|
Example 2: You wish to see how many emails you get simultaneously. |
|
|
SMTP Proxy server shows how many emails are being processed at any time. This number is
displayed in the status bar of the window.
Steps
- Temporarily change the TCP/IP port on your SMTP server to a value other than 25. Let's say you choose 2500
- Run SMTP Proxy on your server using following values.
Proxy Port: |
25 |
Actual Server Port: |
2500 |
Actual Server Host: |
localhost |
Save Emails to: |
<Leave it blank> |
|
|
|
|
Example 3: You want to save all incoming messages into a folder |
|
|
SMTP Proxy server has the ability to save all messages passing through this proxy into a folder. Let's say
you want to save all messages to c:\emailArchives folder on your server machine.
Steps
- Temporarily change the TCP/IP port on your SMTP server to a value other than 25. Let's say you choose 2500
- Run SMTP Proxy on your server using following values.
Proxy Port: |
25 |
Actual Server Port: |
2500 |
Actual Server Host: |
localhost |
Save Emails to: |
c:\emailArchives |
|
|
|
|
|
|
|
|
Requirements
You need Java (JDK 1.4 or newer) installed on your machine before you can run it.
UsageYou can either download Smtp Proxy or run it as an Applet within your browser.
Download (200 KB) |
Run as Applet |
Click here to download the file. Make sure that it gets downloaded as .JAR (Sometimes Internet
Explorer changes the extension to .ZIP). Once downloaded run the application by typing the following command.
You only need this one file to run the application.
java -jar SmtpProxy.jar |
|
|
Typically SMTP servers listen on TCP/IP port 25, which is a privileged port and Java applets are not allowed to open
a TCP/IP socket on this port. In order to bypass this restriction we had to sign the JAR files. If you decide to
chose this option you will have to accept our signed certificate on the next page.
Click here to run it as an applet. |
|
|
|