====== Testing your mail servers ======
===== IMAP =====
To quickly test an imap server using telnet use:
telnet server 143
01 LOGIN username password
02 LIST "" *
03 SELECT mailbox
Line 02 shows you all available mailboxes.
To show the information about a mailbox:
04 STATUS mailbox (MESSAGES)
Between () you can place one or more of the following: MESSAGES, UNSEEN, RECENT UIDNEXT UIDVALIDITY
And one of the following commands to view the a message 1 is the first message * is wildcard for all:
05 FETCH 1 ALL # All IMAP headers
05 FETCH 1 FULL # Full headers and body info
05 FETCH 1 BODY # Body
05 FETCH 1 ENVELOPE # Envelope
05 FETCH * FULL # All email
To fully retrieve a message use:
06 UID fetch 1:1 (UID RFC822.SIZE FLAGS BODY.PEEK[])
===== SMTP =====
1. Telnet into Exchange server hosting IMS service using TCP port 25.
Command is
telnet 25
2. Turn on local echo on your telnet client so that you can see what you are typing.
On Win 9x and NT 3.5/4.0 Telnet client this done by selecting the "preferences" from the "terminal" pull down menu, and checking the local echo radio button. For Windows 2000 telnet client, issue command "set local_echo", from the telnet command prompt.
3. Issue the following smtp command sequence
helo
response should be as follows
250 OK
mail from:
response should be as follows
250 OK - mail from
rcpt to:
response should be as follows
250 OK - Recipient
data
response should be as follows
354 Send data. End with CRLF.CRLF
To:
From:
Subject:
.
response should be as follows
250 OK
quit
===== SMTP AUTH =====
SMTP AUTH is a little different but not difficult. First you will need to generate a Base64 instance of your login username and password before you proceed. To do so execute the following while replacing USERNAME and PASSWORD as needed.
USER@HOST ~$ perl -MMIME::Base64 -e 'print encode_base64("USERNAME@DOMAIN.TLD");'
bWFya3QuZGV=
USER@HOST ~$ perl -MMIME::Base64 -e 'print encode_base64("PASSWORD");'
bWFya3QxMjMv
Once you have your Base64 encoded username and password just login to the mail server as you did above. Remember that all lines below that start with a 3 digit number are responses from the mail server:
mp-mol:/var/log# telnet smtp.domain.tld 25
Trying xxx.xxx.xxx.xxx...
Connected to smtp.domain.tld.
Escape character is '^]'.
220 smtp.domain.tld ESMTP Postfix
Your response.
EHLO smtp.domain.tld
Server response.
250-smtp.domain.tld
250-PIPELINING
250-SIZE 52428800
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250 8BITMIME
Your response.
AUTH LOGIN
Server response (Base64 encoded request for your USERNAME).
334 VXNlcm5hbWU6
Your response.
bWFya3QuZGV=
Server response (Base64 encoded request for your PASSWORD).
334 UGFzc3dvcmQ6
Your response.
bWFya3QxMjMv
Server response.
235 Authentication succeeded
Afterwards continue as in the previous example for testing an SMTP server/account.
===== ClamAV =====
To test ClamAV, send yourself a email with ONLY the following line within body:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
You email client should prompt you an error message and block your mail delivery.
To test SpamAssassin, send yourself an email with ONLY the following line within body:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
After mail delivery, when you check the received email source code, you should have similar message within header. If you are using Thunderbird and enable junk filtering within your mail account setup, this message will even move to "Junk" folder directly:
X-Spam-Flag: YES
X-Spam-Score: 1000.0
X-Spam-Level: +++++++++++++++++++++++++++++++++++++++++++++++++++
X-Spam-Report: Spam detection software, running on the system "mail.example.com", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
[...]
Content analysis details: (1000.0 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-1.4 ALL_TRUSTED Passed through trusted hosts only via SMTP
1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
1.4 AWL AWL: From: address is in the auto white-list