HowTo: Send Email from an SMTP Server using the Command Line

The SMTP (Simple Mail Transfer Protocol) is an Internet standard for electronic mail (Email) transmission across Internet Protocol (IP) networks.

This tutorial shows how to connect to SMTP mail server and send an Email using the ‘telnet’ command.

Step 1: Open a connection from your computer to an SMTP mail server

$ telnet smtp.domain.ext 25
220 smtp.domain.ext ESMTP Sendmail ?version-number?; ?date+time+gmtoffset?
  • smtp.domain.ext – Your mail server;
  • 25 – Default port for SMTP.

Step 2: Declare your domain name or IP-address

You can set local.domain.name or anything you want in ‘HELO’, because the server doesn’t check its authenticity, that is one of the drawbacks of this protocol.

> HELO local.domain.name
250 smtp.domain.ext Hello local.domain.name [xxx.xxx.xxx.xxx], pleased to meet you

Step 3: Set sender’s email

> MAIL FROM: sender@adress.ext
250 2.1.0 sender@adress.ext... Sender ok

Step 4: Set recipient’s email

> RCPT TO: recipient@adress.ext
250 2.1.5 recipient@adress.ext... Recipient ok

Step 5: To write the message, type DATA and press ‘Enter’

> DATA
354 Enter mail, end with "." on a line by itself

Step 6: On the first line type ‘SUBJECT: Your Subject’ and press ‘Enter’ twice

> SUBJECT: Test message

Step 7: Continue typing your message

Hello,
this is a TEST message, 
please don't reply.
Thank you.

Step 8: Put a single period (.) on a line by itself and press ‘Enter’ to send your message.

> .
250 2.0.0 ???????? Message accepted for delivery

Step 9: Close the connection

> QUIT
221 2.0.0 server.com closing connection
0 (0)
Article Rating (No Votes)
Rate this article
Attachments
There are no attachments for this article.
Comments
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
Using IOzone for Linux disk performance analysis
Viewed 8534 times since Wed, Jul 25, 2018
RHCS: Configure an active/backup pacemaker cluster
Viewed 9298 times since Sun, Jun 3, 2018
systemctl Use systemd to Start a Linux Service at Boot
Viewed 6048 times since Mon, Dec 7, 2020
How to stop and disable auditd on RHEL 7
Viewed 40828 times since Tue, Aug 6, 2019
Turbocharge PuTTY with 12 Powerful Add-Ons – Software for Geeks #3
Viewed 14964 times since Sun, Sep 30, 2018
Terminal based "The Matrix" like implementation
Viewed 2528 times since Thu, Apr 18, 2019
RHEL: Extending a multipath LUN
Viewed 5386 times since Sun, May 27, 2018
OEL 7 – How to disable IPv6 on Oracle Linux 7 – Follow Up
Viewed 9723 times since Wed, Jul 25, 2018
Index » Community Contributions » System encryption using LUKS and GPG encrypted keys for arch linux
Viewed 3463 times since Fri, Jul 13, 2018
20 Linux Command Tips and Tricks That Will Save You A Lot of Time linux
Viewed 5052 times since Thu, Apr 18, 2019