Home » » 5 Ways to Send Email From Linux Command Line

5 Ways to Send Email From Linux Command Line

Written By Psychic Zero on Friday, October 17, 2014 | 11:57 AM

We all know the importance of emails these days for information transfer. There are many free emails service providers which we used for use like Gmail, Yahoo, RediffMail etc, which provides a web interface for sending and receiving emails. But this is not enough, some times we also required to send emails from system command line. This article will provides you the ways to send emails from Linux command line. This is useful for sending email through our shell scripts, cron jobs etc.
There are various ways to send emails from command line but here I am sharing few options used by most users. You can use anyone option given below to send email from Linux command line.

1. Using ‘sendmail’ Command

Sendmail is a most popular smtp server used in most of Linux/Unix distribution. sendmail allows to send email from command line. Use below instructions to send email using ‘sendmail‘ command.
Create a file using following content.
# vim /tmp/email.txt
Subject: Terminal Email Send

Email Content line 1
Email Content line 2
Subject: line read as Subject of email.
Now send email using following command.
# sendmail user@example.com  < /tmp/email.txt

2. Using 'mail' Command

mail command is most popular command to send emails from Linux terminal. Use few of below examples to send email.
# mail -s "Test Email" user@example.com < /dev/null
-s is used for subject
To send email with attachment.
# mail -a /opt/backup.sql -s "Backup File" user@example.com < /dev/null
-a is used for attachments
Also we can add comma separated emails to send email to multiple recipients together.
# mail -s "Test Email"  user@example.com,user2@example.com < /dev/null

3. Using 'mutt' command

Mutt is basically use for reading mails from Linux terminal from local user mail boxes, also useful to read emails from POP/IMAP servers. Mutt command is little similar to mail command. Use few of below examples to send email.
# mutt -s "Test Email" user@example.com < /dev/null
Send email including attachment
# mutt  -s "Test Email" -a /opt/backup.sql user@example.com < /dev/null

4. Using 'SSMTP' Command

sSMTP allows users to send emails from SMTP server from Linux command line. For example to send email to user admin@example.com use following command. Now type your subject of email as below with keyword Subject. After that type your message to be sent to user, After finishing your message press CTRL+d (^d) to send email.
# ssmtp admin@example.com
Subject: Test SSMTP Email
Email send test using SSMTP
via SMTP server.

5. Using 'telnet' Command

As my experience all system administrators use telnet command to test remote port connectivity test or login to server remotely. Most of newbie in Linux doesn't know that we can send email using telnet also, which is better way to trouble shoot email sending problems. Below is an example of email sending.
Red marked text is the user input and remaining is the responses of that commands.
# telnet localhost smtp

Connected to localhost.localdomain (
Escape character is '^]'.
220 fbreveal.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 22 Oct 2013 05:05:59 -0400
HELO yahoo.com
250 tecadmin.net Hello tecadmin.net [], pleased to meet you
mail from: sender@tecadmin.net
250 2.1.0 sender@tecadmin.net... Sender ok
rcpt to: myemail@ymail.com
250 2.1.5 myemail@ymail.com... Recipient ok
354 Enter mail, end with "." on a line by itself
This is test email only

250 2.0.0 r9M95xgc014513 Message accepted for delivery
221 2.0.0 fbreveal.com closing connection
Connection closed by foreign host.

Source Tecadmin.


Post a Comment