Connect to server
For non-secure SMTP, you can use
telnet example.com 25
For secure SMTP, you can use one of following:
openssl s_client -starttls smtp -connect example.com:25 openssl s_client -starttls smtp -connect example.com:465 openssl s_client -starttls smtp -connect example.com:587
As soon as you connect to the server, run:
ehlo example.com
You will get output like below as reply:
250-test.rtcamp.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN
If you do not see line like 250-AUTH ...
line, then your server may not support authentication. Most likely you will see this when trying with telnet or openssl without startls.
Authentication
For [email protected]
and password
, generate base64 encoded string like below:
echo -ne '\[email protected]\0password' | base64
Please note use of \0
before username and password. It must be used as it is. Also, use single-quotes to avoid escaping special characters in your password.
It will output a string like below:
AGFkbWluQGV4YW1wbGUuY29tAHBhc3N3b3Jk
Use above string with AUTH command:
AUTH PLAIN AGFkbWluQGV4YW1wbGUuY29tAHBhc3N3b3Jk
SMTP Commands to send test email
Type/paste following commands 1-by-1. They are interactive and needs input.
ehlo example.com mail from: [email protected] rcpt to: [email protected] data quit
For more SMTP Tests, check this.
Open-Relay Test
Worst thing that could happen to your SMTP server is – it becomes open-relay (accidentally). An open-relay allows anybody to connect and send email using your server. It can lead to your server being blacklisted. I am not sure if it can result in legal hassles!
There are many tools available online which can check if your smtp server is acting as open relay.
swaks utility
This is a small package which can make it easy to test your smtp server.
apt-get install swaks
Example usage:
swaks --server example.com --to [email protected]
Please note that spamassassin marks, swaks generated email as spam.