This tutorial explains how you can install and configure SquirrelMail on a RedHat/CentOS/Fedora based mail server which uses Sendmail and Apache.
Primary Mail Server: linuxbox4 (192.168.0.14)
Domain Name: abc.com
Trusted IP Pool: 192.168.0.0/24
Note: Replace domain name and system name and IP according to your scenario.
1. DNS is configured with proper MX record.
2. All necessary packages/ softwares are installed.
Configure all service to start at boot time.
chkconfig sendmail on
chkconfig httpd on
chkconfig dovecot on
Configure /etc/hosts file. In this scenario /etc/hosts file should look like this:
192.168.0.14 linuxbox4 www.abc.com
Outgoing Mail Server Configuration (Sendmail):
Open /etc/mail/sendmail.mc file and change the following two lines.
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl FEATURE(`accept_unresolvable_domains')dnl
Save and exit.
– First line here enables sendmail to receive incoming emails on all installed the NICs. Otherwise mail server would only be able to receive mails from it.
– Second line here tells sendmail, do not receive emails from mail servers whose PTR record is not configured in DNS server. This is a basic level SPAM control settings in sendmail.
Generate sendmail.cf file from sendmail.mc file.
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Allow RELAY for trusts (organization’s) IP addresses that you want to permit sending emails using this mail server. Open /etc/mail/access in this file we specify all those addresses that will be sending emails through this mail server. At the end of this file add the following line:
Save and exit and convert this text database into DB format by following command.
makemap hash access.db < access
Tell sendmail that it will be acting as a primary mail server for “abc.com” domain. We do this by adding domain name in /etc/mail/local-host-names. If this server is acting as a mail server for more then one domains then add names of all of the domains in this file on separate line. Open /etc/mail/local-host-names and add “abc.com” at the end of this file.
Note: A mail server can act as a primary mail server for more then one domains at the same time and as well as can act as a primary and secondary mail server for more than one domain at the same time.
All system users are mail users as well. Now create mail only users.
useradd -s /usr/sbin/smrsh mailuser1
useradd -s /usr/s2n/smrsh mailuser1
Also set their passwords:
Finally restart sendmail service.
service sendmail restart
Incoming Mail Server Configuration (Dovecot):
Open /etc/dovecot.conf and change the following lines.
#protocols = imap pop3
protocols = imap imaps pop3 pop3s
Save and exit and restart dovecot service.
service dovecot restart
Webserver Configuration (Apache):
Apache comes pre-configured, you just have to change the ServerName parameter in /etc/httpd/conf/httpd.conf file and restart the service, that’s all. Open /etc/httpd/conf/httpd.conf and set the ServerName parameter.
Save and exit and restart httpd service.
service httpd restart
Installation & Configuration of Squirrelmail
• Check that Squirrelmail is installed on the system.
# rpm –q squirrelmail
• If squirrelmail is not installed on the system then install it through rpm:
# rpm –ivh squirrelmail
• Now go to the squirrelmail directory, located in /usr/share.
# cd /usr/share/squirrelmail
• Then go to the config directory:
# cd config
• Now run one of the following commands to configure squirrelmail.
• Now select option 1 (Organization Preferences).
Organization Name : YOUR_ORG_NAME
Organization Title : YOUR_ORG_NAME Webmail
Provider link : http://YOUR_ORG_SITE_ADDRESS
Provider name : YOUR_ORG_NAME
• Now select option 2 (Server Settings).
Domain : abc.com
Sendmail or SMTP : Sendmail
IMAP Server : localhost
IMAP Port : 143
Server software : uw
Delimiter : /
• Now select option 3 (Folder Settings).
Default Folder Prefix : mail/
Show Folder Prefix Option : true
Trash Folder : Trash
Sent Folder : Sent
Drafts Folder : Drafts
By default, move to trash : true
By default, move to sent : true
By default, save as draft : true
List Special Folders First : true
Show Special Folders Color : true
Auto Expunge : true
Default Sub. of INBOX : false
Show ‘Contain Sub.’ Option : true
Default Unseen Notify : 2
Default Unseen Type : 1
Auto Create Special Folders : true
Folder Delete Bypasses Trash : false
Enable /NoSelect folder fix : false
• Now select option 4 (General Settings).
Data Directory : /var/lib/squirrelmail/prefs/
Attachment Directory : /var/spool/squirrelmail/attach/
Directory Hash Level : 0
Default Left Size : 150
Usernames in Lowercase : false
Allow use of priority : true
Hide SM attributions : false
Allow use of receipts : true
Allow editing of identity : true
Allow editing of name : true
Remove username from header : false
Allow server thread sort : true
Allow server-side sorting : true
Allow server charset search : true
Enable UID support : true
PHP session name : SQMSESSID
Location base :
• Now choose option 8 (Plugins) and select the plugins that you wish to provide to your webmail users.
• Now open the browser with the following link: