VPSWala Blog

How to Install Sendmail Server on Centos 7? (Brief Guide)

January 13, 2024, Written by 0 comment

Sendmail is a widely used mail transfer agent (MTA) that utilizes SMTP for sending and routing emails. This step-by-step guide covers installing and configuring Sendmail from scratch on CentOS 7 Linux servers.

An Overview of Sendmail

Before diving into the installation, let’s briefly understand what Sendmail is and why many still choose to use it:

  • Sendmail is an open-source MTA developed by Eric Allman for delivering email on UNIX-like systems.
  • It handles routing SMTP mail flows reliably and securely between senders, recipients, and other MTAs.
  • Sendmail interoperates well with various programs and web apps via SMTP/APIs.
  • It powers delivering high volumes of email for companies worldwide due to flexibility meeting diverse needs.
  • Robust configuration controls are available for security, optimization, integrations, etc.

While alternative MTAs like Postfix, Exim, and qmail exist, Sendmail remains a mature, trusted option for mail services.

Prerequisites for Installing Sendmail on CentOS 7

Before installing Sendmail, some requirements must be met:

  • Access as root or user with sudo privileges
  • Active subscription RHEL or CentOS version 7
  • Network interface configured with static IP address
  • Port 25 open on firewall for SMTP
  • Fully qualified domain name (FQDN) assigned
  • Correct DNS records pointing to server’s IP

Verifying these prerequisites are met will ensure Sendmail functions properly post-install.

Step 1 – Add the EPEL Repository

The Extra Packages for Enterprise Linux (EPEL) repository contains additional packages for CentOS, including Sendmail.

To add EPEL repos:

Copy code

sudo yum install epel-release

Step 2 – Install Sendmail and Dependencies

Now install Sendmail, configuration files, and required components using yum:

Copy code

sudo yum install sendmail sendmail-cf m4

sendmail – Primary Sendmail package

sendmail-cf – Config files

m4 – Macro processor to compile configs

Copy code

Transaction Summary ================================================= Install 3 packages Total download size: 1.2 M Installed size: 3.1 M

Alternatively verify with:

Copy code

rpm -qa | grep sendmail

Step 3 – Configure Sendmail

Edit /etc/mail/sendmail.mc to configure settings and options:

Copy code

vim /etc/mail/sendmail.mc

Example edits:

Copy code

define(`SMART_HOST', `smtp.gmail.com')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(`authinfo', `hash /etc/mail/auth/client-info.db')dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl MASQUERADE_AS(`mydomain.com')dnl

Save changes after setting desired options.

Step 4 – Create Authentication Directory

Make this directory to store authentication details:

Copy code

sudo mkdir /etc/mail/auth

Add a hash database file with usernames/passwords:

Copy code

vim /etc/mail/auth/client-info AuthInfo:gmail.com "U:username" "P:password" "M:PLAIN" makemap hash client-info.db < client-info

Also configure /etc/mail/access adding allowed relays.

Step 5 – Recompile Configuration

Compile sendmail.mc to generate updated sendmail.cf:

Copy code

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Or use make:

Copy code

sudo make -C /etc/mail

Step 6 – Start Sendmail Service

Launch the Sendmail service and enable on reboot:

Copy code

sudo systemctl start sendmail sudo systemctl enable sendmail

Step 7 – Test Configuration

Send a test email to confirm routes correctly:

Copy code

sendmail -v [email protected]

Check status with:

Copy code

systemctl status sendmail

Troubleshooting Issues

Some common errors like host lookups and authentication failures can occur.

Double check DNS records match server IP address. Also verify client-info DB aligned with provided credentials if relay access problems seen.

Optimizing & Customizing Sendmail

Further Sendmail enhancements possible:

  • Fine-tune performance limits for high loads
  • Enable TLS encryption communications
  • Configure multiple virtual domains
  • Custom firewall rules
  • Advanced antispam/antivirus scanning
  • API integration with web languages

And more!


Properly installing and hardening Sendmail prepares mail servers for securely delivering high volumes of email.

While the initial setup process may seem complex, once configured, Sendmail serves as a robust, efficient MTA for enterprise needs.

For assistance with expertly hosting and supporting production Sendmail servers, hosting providers like VpsWala offer fully managed solutions. Our team helps handle everything from configuration to optimization and routine maintenance for peak email performance.

vpswala Admin

Savita Sathe is an experienced writer and editor with over 10+ years of professional experience creating engaging content across industries. Whether it's blogs, whitepapers, website copy, emails, social media posts, or more. She develops effective hosting and tech content that helps brands connect with their audiences and achieve business goals.

Leave a reply

Your email address will not be published. Required fields are marked *