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 admin@example.com
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: admin@other.com
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.