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
List DNS records, nameservers of a domain from command line
Viewed 1377 times since Sun, Sep 30, 2018
Linux Cluster Tutorial
Viewed 1323 times since Sat, Sep 29, 2018
10 Linux DIG Command Examples for DNS Lookup
Viewed 10496 times since Sun, Sep 30, 2018
RHCS6: Luci - the cluster management console
Viewed 2601 times since Sun, Jun 3, 2018
Odpalenie polecenia tylko na jedną godzinę
Viewed 2260 times since Thu, May 24, 2018
Linux Chage Command to Set Password Aging for User
Viewed 1586 times since Tue, Sep 11, 2018
Get UUID of Hard Disks [Update]
Viewed 1626 times since Tue, Jul 17, 2018
Learn Linux System Auditing with Auditd Tool on CentOS/RHEL
Viewed 3309 times since Fri, Apr 5, 2019
LVM: Reduce an existing Logical Volume / Filesystem
Viewed 1971 times since Sat, Jun 2, 2018
How to convert RAW image to VDI and otherwise
Viewed 13824 times since Wed, Oct 3, 2018