Table of Contents
In this article, I will take you through 6 Easy Steps to Install Sendmail Command in Linux. Now a days there are lot of open source tools are available like mutt, mail, mailx etc to send email from Linux command Line. One of the very basic tool available is sendmail. It is a very simple open source MTA(Mail Transfer Agent) in Linux which uses SMTP(Simple Mail Transfer Protocol) to send email.
One can either use this tool to send email manually through a command line or one can also use it within the Linux Bash Scripts. There are multiple ways through which this tool can be used. Now we are going to look into the steps in detail to install sendmail command in Linux.
Easy Steps to Install Sendmail Command in Linux
Also Read: 6 Easy Steps to Install Mutt Command in Linux (RHEL/CentOS 7/8)
Step 1: Prerequisites
a)You need to have running RHEL/CentOS 7/8
based Systems.
b)You should have yum
tool installed in your System. Please Check Top 22 YUM Command Examples in RedHat/CentOS 7 to know more about yum
utility.
c)You should have root
or sudo
access to run Privileged Commands. Please Check How to Add User to Sudoers to know more about providing sudo
access to the User.
Step 2: Update Your System
If you are going to or planning to install a new package in your System then the first thing you need to do is to update your System using yum update -y
command as shown below. This will update all the installed packages with the latest version so that all the dependent packages will remain fully updated.
[root@localhost ~]# yum update -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 9.0 kB 00:00:00 * base: mirrors.piconets.webwerks.in * epel: download.nus.edu.sg * extras: mirrors.piconets.webwerks.in * updates: mirrors.piconets.webwerks.in base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package ca-certificates.noarch 0:2019.2.32-76.el7_7 will be updated ---> Package ca-certificates.noarch 0:2020.2.41-70.0.el7_8 will be an update ---> Package curl.x86_64 0:7.29.0-57.el7 will be updated ---> Package curl.x86_64 0:7.29.0-57.el7_8.1 install sendmail will be an update ---> Package dbus.x86_64 1:1.10.24-13.el7_6 install sendmail will be updated ---> Package dbus.x86_64 1:1.10.24-14.el7_8 will be an update ---> Package dbus-libs.x86_64 1:1.10.24-13.el7_6 install sendmail will be updated ---> Package dbus-libs.x86_64 1:1.10.24-14.el7_8 install sendmail will be an update ---> Package grub2.x86_64 1:2.02-0.81.el7.centos install sendmail will be updated ---> Package grub2.x86_64 1:2.02-0.86.el7.centos install sendmail will be an update ---> Package grub2-common.noarch 1:2.02-0.81.el7.centos will be updated ---> Package grub2-common.noarch 1:2.02-0.86.el7.centos will be an update ---> Package grub2-pc.x86_64 1:2.02-0.81.el7.centos will be updated ---> Package grub2-pc.x86_64 1:2.02-0.86.el7.centos will be an update ---> Package grub2-pc-modules.noarch 1:2.02-0.81.el7.centos will be updated ---> Package grub2-pc-modules.noarch 1:2.02-0.86.el7.centos will be an update ---> Package grub2-tools.x86_64 1:2.02-0.81.el7.centos will be updated ---> Package grub2-tools.x86_64 1:2.02-0.86.el7.centos will be an update ---> Package grub2-tools-extra.x86_64 1:2.02-0.81.el7.centos will be updated ---> Package grub2-tools-extra.x86_64 1:2.02-0.86.el7.centos will be an update ---> Package grub2-tools-minimal.x86_64 1:2.02-0.81.el7.centos will be updated ---> Package grub2-tools-minimal.x86_64 1:2.02-0.86.el7.centos will be an update ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.252.b09-2.el7_8 will be updated ---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.262.b10-0.el7_8 will be an update
Step 3: Install Sendmail Command in Linux
Once the System is fully updated you can install sendmail tool in Linux using yum install sendmail -y
command as shown below. This command will download and install the latest available sendmail package version from enabled Repository. If in case during the installation, you see any packages are broken then you can use --skip-broken
option to skip the broken packages.
[root@localhost ~]# yum install sendmail -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile epel/x86_64/metalink | 8.3 kB 00:00:00 * base: mirrors.piconets.webwerks.in * epel: download.nus.edu.sg * extras: mirrors.piconets.webwerks.in * updates: mirrors.piconets.webwerks.in base | 3.6 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:01 (2/2): epel/x86_64/primary_db | 6.9 MB 00:00:11 Resolving Dependencies --> Running transaction check ---> Package sendmail.x86_64 0:8.14.7-6.el7 will be installed --> Processing Dependency: procmail for package: sendmail-8.14.7-6.el7.x86_64 --> Processing Dependency: libhesiod.so.0()(64bit) for package: sendmail-8.14.7-6.el7.x86_64 --> Running transaction check ---> Package hesiod.x86_64 0:3.2.1-3.el7 will be installed ---> Package procmail.x86_64 0:3.22-36.el7_4.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================== Package Arch Version Repository Size ======================================================================================================================================================================== Installing: sendmail x86_64 8.14.7-6.el7 base 737 k Installing for dependencies: hesiod x86_64 3.2.1-3.el7 base 30 k procmail x86_64 3.22-36.el7_4.1 base 171 k Transaction Summary ======================================================================================================================================================================== Install 1 Package (+2 Dependent packages) Total download size: 938 k Installed size: 2.0 M Is this ok [y/d/N]: y Downloading packages: (1/3): hesiod-3.2.1-3.el7.x86_64.rpm | 30 kB 00:00:00 (2/3): procmail-3.22-36.el7_4.1.x86_64.rpm | 171 kB 00:00:00 (3/3): sendmail-8.14.7-6.el7.x86_64.rpm | 737 kB 00:00:00 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 1.1 MB/s | 938 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : hesiod-3.2.1-3.el7.x86_64 1/3 Installing : procmail-3.22-36.el7_4.1.x86_64 2/3 Installing : sendmail-8.14.7-6.el7.x86_64 3/3 Verifying : procmail-3.22-36.el7_4.1.x86_64 1/3 Verifying : hesiod-3.2.1-3.el7.x86_64 2/3 Verifying : sendmail-8.14.7-6.el7.x86_64 3/3 Installed: sendmail.x86_64 0:8.14.7-6.el7 Dependency Installed: hesiod.x86_64 0:3.2.1-3.el7 procmail.x86_64 0:3.22-36.el7_4.1 Complete!
Step 4: Check Sendmail Command Version
There are multiple ways through which you can check sendmail
utility version but the simplest way to check it by using below sendmail
command. As you can see from the output current installed version is 8.14.7
.
[root@localhost ~]# sendmail -d0.4 -bv root | grep Version Version 8.14.7
Step 5: Send Email using Sendmail command in Linux
If you want to send email from Linux Command Line then you can use sendmail command as shown below. In this example, we are sending email to example@cyberithub.com
with Message "Hi, This is from CyberITHub"
and Subject "Test Email"
.
[root@localhost ~]# echo "Hi,This is from CyberITHub" | sendmail -s "Test Email" example@cyberithub.com
“Hi, This is from CyberITHub” : Message Body
-s : Subject of the email. More can be checked on sendmail Man Page.
“Test Email” : Email Subject
“example@cyberithub.com” : Receipient Email Id
Step 6: Check Man Page of sendmail command in Linux
If you want to check Man Page of sendmail command in Linux then you need to use man sendmail
command as shown below. Man page provides a whole lot of information about some command so it comes handy whenever you want to explore more and check all the other options available with that command.
[root@localhost ~]# man sendmail MAILQ(1) General Commands Manual MAILQ(1) NAME mailq - print the mail queue SYNOPSIS mailq [-Ac] [-q...] [-v] DESCRIPTION Mailq prints a summary of the mail messages queued for future delivery. The first line printed for each message shows the internal identifier used on this host for the message with a possible status character, the size of the message in bytes, the date and time the message was accepted into the queue, and the envelope sender of the message. The second line shows the error mes‐ sage that caused this message to be retained in the queue; it will not be present if the message is being processed for the first time. The status charac‐ ters are either * to indicate the job is being processed; X to indicate that the load is too high to process the job; and - to indicate that the job is too young to process. The following lines show message recipients, one per line. Mailq is identical to ``sendmail -bp''. The relevant options are as follows: -Ac Show the mail submission queue specified in /etc/mail/submit.cf instead of the MTA queue specified in /etc/mail/sendmail.cf. -qL Show the "lost" items in the mail queue instead of the normal queue items.
Popular Recommendations:-
How to Create Table in MySQL 5.5 with Easy Steps
How to Disable IPV6 on Linux (CentOS / RHEL 7/8) Using 4 Best Steps
How to Set MariaDB root Password in RHEL/CentOS 7/8 Using Simple mysql_secure_installation
Introduction to SQL Injection Attacks in MySQL (v5.5)
How to Limit CPU Limit of a Process Using CPULimit in Linux (RHEL/CentOS 7/8)
How to Install Rust Programming Language in Linux Using 6 Best Steps
Openssl Tutorial: Generate and Install Certificate on Apache Server in 8 Easy Steps
How to Enable or Disable SELinux Temporarily or Permanently on RedHat/CentOS 7/8
Top 12 Nmap Commands to Scan Remote Host with Best Practices