Table of Contents

Ubuntu - 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 the 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.example.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.


Example

openssl s_client -starttls smtp -connect mail.sharewiz.net:25
CONNECTED(00000003)
depth=0 C = UK, ST = Jersey, L = St. Helier, O = ShareWiz, OU = Tech, CN = mail.sharewiz.net, emailAddress = admin@sharewiz.net
verify error:num=18:self signed certificate
verify return:1
depth=0 C = UK, ST = Jersey, L = St. Helier, O = ShareWiz, OU = Tech, CN = mail.sharewiz.net, emailAddress = admin@sharewiz.net
verify return:1
---
Certificate chain
 0 s:/C=UK/ST=Jersey/L=St. Helier/O=ShareWiz/OU=Tech/CN=mail.sharewiz.net/emailAddress=admin@sharewiz.net
   i:/C=UK/ST=Jersey/L=St. Helier/O=ShareWiz/OU=Tech/CN=mail.sharewiz.net/emailAddress=admin@sharewiz.net
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIF/TCCA+WgAwIBAgIJAMDVKowLC7NQMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD
VQQGEwJVSzEPMA0GA1UECAwGSmVyc2V5MRMwEQYDVQQHDApTdC4gSGVsaWVyMREw
DwYDVQQKDAhTaGFyZVdpejENMAsGA1UECwwEVGVjaDEaMBgGA1UEAwwRbWFpbC5z
aGFyZXdpei5uZXQxITAfBgkqhkiG9w0BCQEWEmFkbWluQHNoYXJld2l6Lm5ldDAe
Fw0xNjExMDYxOTMwNTZaFw00MTA2MjgxOTMwNTZaMIGUMQswCQYDVQQGEwJVSzEP
MA0GA1UECAwGSmVyc2V5MRMwEQYDVQQHDApTdC4gSGVsaWVyMREwDwYDVQQKDAhT
aGFyZVdpejENMAsGA1UECwwEVGVjaDEaMBgGA1UEAwwRbWFpbC5zaGFyZXdpei5u
ZXQxITAfBgkqhkiG9w0BCQEWEmFkbWluQHNoYXJld2l6Lm5ldDCCAiIwDQYJKoZI
hvcNAQEBBQADggIPADCCAgoCggIBAKY1Smx6HoH7QvC4pLvmS8jcVqLfR81IJc0+
D/N3VfTrz6DFJ4fkkzyDGipHDZCSbg++K8AxWvCSIkH69Cdpa6PcfD0f07dKLNCd
t4S+dUPbSwwOXcnttlE974eJBqgtRsQs96BXqdF4Lny+6LDLolV3uwyrnASgV3xX
CHAc5hbnJaj8ArxPhXa7ZKKDP04SJ+5U9J47eW/pedUc89O7NeKuaSNQ4ZlnAEbu
aBiHocgk9hPUhLV1i+85IKck7xf9v/bzEdX7pkFdLRu16jJUbZXxmI8zj1ZlZhix
5NfC8+l6NX5PIaJqYhXjGFLiD72178mlLMUSQFTgZF//tfqtccQNI6oPl2xhY2iq
TUFUmSf1efvJvBQhK3vWCCpVhnvBBgABxQOV/ydzsuY91Meu+r8OiQlHiTYofKTt
C1zfCZrIIU+O9NhpgSWoxpO9OLjFTo+xf5t8D3PP7soH1T+W0m0ygkvNBNTVAGYS
rzUAmnvQho7Rk/QrdWQ1x6wLVXqaAQe9E7ICPpr8IqIC9Wtd03kilPtOJcwX8Jbc
W+Im224O+qClT55IDOdeEG5PouNOLJEBNDUbco7eo8qJL1L6dlgOGI5a3vn9Ha+r
uSD3KjElvgnzZGcyGOwEybU+PEvZ4Fw6v3RhIBoogKkSaiU2TGAg8nC/PMUJuf7p
O4DnuJP9AgMBAAGjUDBOMB0GA1UdDgQWBBTXgStBGVqML4FnPwZSkP7brXT8wzAf
BgNVHSMEGDAWgBTXgStBGVqML4FnPwZSkP7brXT8wzAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBCwUAA4ICAQBVaSDMRoB0tjHVJPSpBQmvVw4KyhN1eHf7Pe/gLNaZ
MzXxzt7USxSXXcUYb6mzn1KuQozXr0cTF2Mqg9oUxJWp/IE6uyCKkJ1DM8EnATOC
wkySwS3eZ73HnpeofNY9V7t8rdHE8uMD/AgCnaYztgnC/AxD4xcZaBBvbD1AnHuz
IlPc6KaRTtV3PQM+Za0zfJ4ukxR2YwPU68Df8T50whp1eJnj7Tg1Z7ZUkL5iRkLO
ALdtlGI1qhVBZzstjL11rOUQH5zFHtu+hcAHM5UWqy04M4fFW6A3Fk/+TT0Mrlpa
bxbMvMTn85juoOkPYexhkQmLULqRmYgTR9YjqsPdmYi9OWBjciuoB9xePsR4U82k
o0WlztvY2XLCZh0DERaT6cLp0N+KIKOrjhO5eqSPOyQnGaTDZOokBGKUVUbRiF+1
L4xdF4rNyOo9anLrLjA+VBsTH8Ff3M50+VkQi/IpqswwTn90XudJxjoG9ZJ3Hput
Jj112fy6V7xN5zszxTi2ZLQ8lIFYsb36GSOrJLiTm4QS4NffvN53XTfoJTKu4Qlj
oQY3tI4QETunbFZxQF39wrgzvfwoFjw66ZczWuu2sQ8V1uhe5pe++YY/Dmc793zF
xuBv8Fx1CPR9oFBJnpZ61YGP08aRRsucsjwpC5RneTkxXSUSFC0ZS+SBVU4ar1tP
lg==
-----END CERTIFICATE-----
subject=/C=UK/ST=Jersey/L=St. Helier/O=ShareWiz/OU=Tech/CN=mail.sharewiz.net/emailAddress=admin@sharewiz.net
issuer=/C=UK/ST=Jersey/L=St. Helier/O=ShareWiz/OU=Tech/CN=mail.sharewiz.net/emailAddress=admin@sharewiz.net
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2483 bytes and written 466 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: B687474275FE380364B1CB8510743A4EB39898D34E85AC4137B5C29FB190E2F7
    Session-ID-ctx: 
    Master-Key: E999FFA4C1791FBAA6442D546EF59BE650FED80C96D3EDF4A078473CD5BB86D934079514BFC840DDACA900D46721241A
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1478819857
    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---
250 HELP
ehlo sharewiz.net
250-server1.sharewiz.net Hello gateway.sharewiz.net [192.168.1.1]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN PLAIN2 LOGIN2
250 HELP
AUTH PLAIN Base64EncodedUsernameAndPassword==
235 Authentication succeeded
ehlo sharewiz.net
250-server1.sharewiz.net Hello gateway.sharewiz.net [192.168.1.1]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250 HELP
mail from:peter@sharewiz.net
250 OK
rcpt to:mail@peterroux.com
250 Accepted
data
354 Enter message, ending with "." on a line by itself
This is a test
.
250 OK id=1c4yeV-000NPI-HC
quit
221 server1.sharewiz.net closing connection
closed