User Tools

Site Tools


email:test_smtp

This is an old revision of the document!


Email - Test SMTP

The commands used here are covered in section 4.1 of RFC 2821 [http://www.ietf.org/rfc/rfc2821.txt].

Obtain the DNS MX record for a domain

Issue the following command:

Linux:

nslookup -type=mx sharewiz.net
 
Non-authoritative answer:
sharewiz.net      mail exchanger = 10 mail.sharewiz.net.
 
Authoritative answers can be found from:
mail.sharewiz.net	internet address = 5.42.134.35

Windows:

nslookup -type=mx sharewiz.net
 
Non-authoritative answer:
sharewiz.net      MX preference = 10, mail exchanger = mail.sharewiz.net.

Get the DNS PTR for the IP

This requires to know what IP address.

With the IP address run the following command, where A.B.C.D is the IP address.

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer:  D.C.B.A.in-addr.arpa  name = server.example.com

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer:  D.C.B.A.in-addr.arpa  name = server.example.com

So now that we have the MX record for example.com and the PTR for the IP we are going to use, it is time to login to the SMTP server.

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 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

SMTP Commands to send test email

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 http://www.stat.ufl.edu/system/mailtesting.shtml.

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

Please note that SpamAssassin marks, swaks generated email as spam.

email/test_smtp.1478774755.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki