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:
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.
[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:
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.
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
swaks --server example.com --to [email protected]
Please note that spamassassin marks, swaks generated email as spam.