6

Based on this guide I am trying to send a test email using telnet from linux

https://linuxconfig.org/send-an-email-using-telnet

but the connection immediately disconnects:

$ telnet smtp.gmail.com 465
Trying 108.177.126.108...
Connected to smtp.gmail.com.
Escape character is '^]'.
MAIL FROM: asdasd@asd.Connection closed by foreign host

How do I keep the connection open long enough to send my test mail?

AnFi
  • 6,103
  • 1
  • 14
  • 27
u123
  • 267
  • 1
  • 8
  • 24

2 Answers2

10

Connections to smtp (25) start as unencrypted.
Connections to smtps (465) start/negotiate encryption before any SMTP protocol level communication.
You should get "SMTP greeting message" from SMTP server before sending any SMTP commands.

Classic/standard telnet does not support encryption (ssl - Secure Socket Layer).
You may check if your telnet program supports it.


Linux: Debian and Ubuntu

Package telnet-ssl provides telnet variant with ssl support. It supports command line like below:

telnet-ssl -z ssl smtp.gmail.com 465

One on a few alternatives is provided by gnutls-cli program from gnutls-bin Debian package.

gnutls-cli -p 465 smtp.gmail.com
AnFi
  • 6,103
  • 1
  • 14
  • 27
1

Since this Q&A came up again on the front page

The canonical tool (almost always already installed as well) is OpenSSL

The relevant sub command to test both explicit TLS / SSL as well as opportunistic TLS SSL with startssl / starttls is openssl s_client

openssl s_client -connect servername:465

And for opportunistic TLS on for example port 25

openssl s_client -connect -starttls smtp servername:25
HBruijn
  • 77,029
  • 24
  • 135
  • 201