Q. How do I configure Sendmail email server to use SSL encryption for sending/receiving email? I have already obtained or received the required valid SSL certificate. It is stored in /etc/mail/ssl directory as follows:
SSL Keys and Certification files
=> /etc/mail/ssl/sendmail.pem
=> /etc/mail/ssl/ca-bundle.crt
Now how do I configure sendmail for SSL under Fedora Core or RHEL or Cent OS?
A. Sendmail is a mail transfer agent (MTA) and you need a valid SSL certificate on the server. Sendmail remains the most popular MTA on the Internet, although this is probably fading. Its popularity is due in part to its position as the standard MTA under most variants of the Unix operating system.
Sendmail can be configured to encrypt email via the secure socket layer (SSL) when you want to send and receives emails.
Open sendmail configuration file /etc/mail/sendmail.mc using text editor such as vi:
# vi /etc/mail/sendmail.mc
Now append/modify following directives:
define(`confCACERT_PATH',`/etc/mail/ssl/certs')
define(`confCACERT',`/etc/mail/ssl/ca-bundle.crt')
define(`confSERVER_CERT',`/etc/mail/ssl/sendmail.pem')
define(`confSERVER_KEY',`/etc/mail/ssl/sendmail.pem')
And make sure port is set to smtps (secure smtp i.e. port 465):
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
Restart sendmail and secure pop3s/imaps
Type the following commands to restart sendmail and related services:
# /etc/init.d/sendmail restart
# chkconfig pop3s on
# chkconfig imaps on
# /etc/init.d/xinetd restart
pop3s and imaps will start from xinetd
How do I generate certificates locally for testing purpose only?
If you don't have certificates you can generates certificates locally on Cent OS/RHEL/Fedora Core. Type the following commands:
# cd /usr/share/ssl/certs
# make sendmail.pem
Now open sendmail /etc/mail/sendmail.mc config file and append/modify directives as follows:
define(`confCACERT_PATH',`/usr/share/ssl/certs')
define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
Restart sendmail as discussed above.
Featured Articles:
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- My 10 UNIX Command Line Mistakes
- Linux: 20 Iptables Examples For New SysAdmins

- 25 PHP Security Best Practices For Sys Admins
- The Novice Guide To Buying A Linux Laptop
- 10 Greatest Open Source Software Of 2009
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- Top 20 OpenSSH Server Best Security Practices
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Linux Video Editor Software
Facebook it - Tweet it - Print it -

{ 2 comments… read them below or add one }
Hi,
my qmailserver is at out of location. All users sending & receiving the mails through this server.
It is possible to setup the fetching sendmail server to local. All users are send & received the mail through this server & not directlay connected to outside server qmail server for send & received the mails.
Hoiw I configurd this fetchning mail server.
Interviewer asked me one question:
User is unable to send/receive the mail.
How u will troubleshoot it?
Explain in clear manner with steps.
I didnt answer to this question.
Can u plz tell the answer to this question as soon as possible.