Sendmail is a MTA (Mail Transfer Agent) server used for transferring email from between different hosts. Sendmail uses SMTP (Simple Mail Transfer Protocol) protocol. Most of the system administrators preferred to use Sendmail server as MTA than other MTAs.
RHEL 5 or its earlier versions were using Sendmail as a default mail server, But newer version’s of RHEL based systems adapted postfix as a default mail server. Most of the users are familiar with Sendmail and want to use it with version 6 also. This article will help users for installing Sendmail server on RHEL 7/6/5 or with minimal configuration.
1. Install Sendmail
If you don’t have installed Sendmail using the following command to install Sendmail with other required packages using yum package manager.
yum install sendmail sendmail-cf m4
2. Configure Sendmail Server
Before starting configuration we must know about various Sendmail configuration files exists in /etc/mail directory.
2.1 Comment out below line in
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
2.2 Add this line also in sendmail.mc above ‘MAILER’ option
FEATURE(`relay_hosts_only')dnl
2.3 Add your PC’s full hostname in this file.
hostname >> /etc/mail/relay-domains
3. Recompile Sendmail Configuration
m4 ia a macro processor to compile the Sendmail configuration files. m4 is stream-based, that is, it doesn’t understand about lines.
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Restart Sendmail service
/etc/init.d/sendmail restart
4. Configure Domain-based E-mail Routing
As we read above that virtusertable file used for aliasing, allowing multiple virtual domains to be hosted on one machine.
1. All emails addressed to @example.com domain delivered to [email protected]
@example.com [email protected]
2. All emails addressed to [email protected] will forward to local user jack.
[email protected] jack
3. All emails addressed to @mydomain.com will forward to domain @otherdomain.com with corresponding usernames.
@mydomain.com %[email protected]
4. All emails addressed to @otherdomain.com will be rejected my mail server with acknowledging sender with the message
@otherdomain.com error:nouser User unknown
After making all changes in virtusertable execute following command to create updated virtusertable.db file containing the new configuration.
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
Now restart Sendmail service
/etc/init.d/sendmail restart
Thanks for reading this article. I hope this article will help you to configure Sendmail on CentOS and Red Hat systems.
References:
http://www.sendmail.com/
http://www.sendmail.com/sm/open_source/docs/m4/intro_m4.html
10 Comments
very Use full information thanks Rahul
When I do “m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf” as root, I get the error “zsh: permission denied: /etc/mail/sendmail.cf”. sendmail.cf already exists; should I delete it first?
Is your comment still accurate, and why?
“Most of system administrators preferred to use Sendmail server as MTA than other MTAs.”
Is this more a function of it’s already found in the OS release they have installed so it’s convenient more than it is the best solution?
At this point it seems antiquated it’s been a while since an update as well, one of the biggest gaps in support since proofpoint took it over.
I know this thread is kinda old, but you did good work on this and I thought I’d ask if you still felt the same way about it.
Comment out below line in /etc/mail/sendmail.mc to allow receiving email from anywhere.
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
Add this line also in sendmail.mc above ‘MAILER’ option
FEATURE(`relay_hosts_only’)dnl
where are you supposed to put “FEATURE(`relay_hosts_only’)dnl”
i couldnt find ‘MAILER’ option anywhere when i searched for it & i dont know what to look for?
Thanks for the write-up but I was unable to get this working on my Fedora 19 system. I was getting some relaying denied errors. I then found this http://www.rosehosting.com/blog/install-and-configure-a-simple-mail-server-using-sendmail-and-dovecot-on-a-fedora-20-vps/ which worked just fine so I thought I will share it here as your article comes up in the top 10 when searching for ‘how to install sendmail and dovecot’ and I’m sure it will be useful to someone else.
Thanks again,
Anthony
Thx you for this tutorial but its not work for me either
i tried the posfix solution from Anthony and all is ok now 🙂
thx u
Thanks for the tutorial, but I get a segfault when trying to start the sendmail service
“Starting sendmail: /bin/bash: line 1: 16563 Segmentation fault /usr/sbin/sendmail -bd -q1h”
I couldn’t find mail_location = mbox:~/mail:INBOX=/var/mail/%u in dovecot.conf file.
Pretty! This has been a really wonderful article.
Thank you for providing these details.
Thanks for the post.