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.
For [email protected]
and password
, generate base64 encoded string like below:
echo -ne '\0admin@example.com\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
Type/paste following commands 1-by-1. They are interactive and needs input.
ehlo example.com mail from: admin@example.com rcpt to: [email protected] data quit
For more SMTP Tests, check this.
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.
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 admin@example.com
Please note that spamassassin marks, swaks generated email as spam.