This email server supports SMTP(TCP port 25) and IMAPS(secure IMAP,TCP port 993). Now, you can specify this as an outgoing and incoming email server on email client such as Thunderbird on your PC.
1. Install packages
Three packages are required for this. Install them if you haven't done yet.
$yum install sendmail
$yum install sendmail-cf
$yum install dovecot
The role of sendmail is to receive emails destined to you and keep them in your mailbox on email server. Then, dovecot actually delivers those emails to your PC when you open Thunderbird or Microsoft Outlook. For outgoing email, Thunderbird first contacts sendmail, then sendmail relays the email to final destination for you.
2. Configure sendmail
You just need to change 2 lines in configuration file /etc/mail/sendmail.mc
Comment out this to allow receiving email from anywhere.
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
Add this line
FEATURE(`relay_hosts_only')dnl
Add your PC's full hostname in this file. Create one if this file doesn't exist.
/etc/mail/relay-domains
After changing configuration file, run this command to activate it.
$/etc/mail/make
$service sendmail start
3. Configure dovecot
You just need to edit two files.
In /etc/dovecot/dovtcot.conf, just edit these two lines
protocols = imap
listen = *, ::
In /etc/dovtcot/dovecot.d/10-mail.conf, edit these 3 lines
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_privileged_group = mail
mbox_write_locks = dotlock fcntl
Start dovecot service
$service dovecot start
4. (Optional) Reconfigure iptables only if you are already using iptables
Add these 2 lines into /etc/sysconfig/iptables to allow email to go through firewalls.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT
then, restart iptables by
$service iptables restart
DONE
This is it. Of course, you can do more to enhance the security level of your email server. For example, you can make sendmail more secure by using SMTP over SSL. Feel free to suggest any idea about this article. Thanks.
Thank for helping ;)
ReplyDeleteThanks for posting this "right to the point" how-to. Besides a couple of type-o's it was very helpful.
ReplyDeleteThis is excellent. I have been trying to setting up sendmail to deliver email from centos. I have googled so many different places and sites without success. The steps here are so simple and most importantly, it works.
ReplyDeleteOnly a couple of typos need slight correction.
1. change this /etc/mail/relay-domains to /etc/mail/relay-domains.m4
2. change this /etc/dovecot/dovtcot.conf to /etc/dovecot/dovecot.conf
3. change this /etc/dovtcot/dovecot.d/10-mail.conf to /etc/dovecot/conf.d/10-mail.conf
One can then use the sendmail command line to test. For example -
#sendmail -t
to:aaa@gmail.com
from:mypc@localdomain.com
subject:this is sendmail test
this is message body.
.
#
I am trying to setup sendmail on a CentOS server.
ReplyDeleteI followed all instructions above.
I can send mail to a local user from the command line.
All email is forwarded to my gmail account and it gets there.
If I send the same email from Outlook, I get no error message but
the email is nowhere to be found. Any tips would be greatly appreciated.
mbeffa@gmail.com
Thanks alot, it works, just consider the remarks make by Wang Yahping.
ReplyDelete