RainLoop Webmail – A Modern Fast Web Based Email Client for Linux

RainLoop is a free webmail application based on PHP, it’s free and open source, has modern user interface to handle large number of email accounts without the need of any database connectivity, besides non database connectivity it holds both SMTP and IMAP protocols to easily send/receive emails without any trouble.

RainLoop Key Features

  1. Modern : Modern user interface, with drag’n’drop of files, progress bar for file uploading, browser notifications, embed images into messages, keyboard shortcuts, multi-language mails, etc.
  2. Technological : Supports all latest mail server protocols, such as SMTP and IMAP. Multi-level caching engine allows for increasing performance of application and reducing load on mail and server.
  3. Customizable : Highly customization options to customize interface layout using visual themes and support for multi-language interface, with new languages easily added.
  4. Social : Integration with Facebook, Google and Twitter enables users to log-in with their social network credentials.
  5. Simplicity : Provides easy way to installing and upgrading RainLoop application without any technical skills. The built-in upgrade tool allows users to easily obtain new version and plugins from a single click via admin interface.
  6. Security : Built-in protection module clears hazardous HTML entities for preventing several attacks. In addition, token-based security engine is used for protection from CSRF attacks.
  7. Extensibility : Plugin system provides several features like changing password, global address, compose screen, keeping user settings in database, etc are easily integrated into application.
  8. Performance : The application well designed with efficient memory use in mind, so it can work smoothly even on low-end servers. But still in most cases, the performance and speed of application directly depends on performance of server and bandwidth available.

Requirement of RainLoop

In order to install RainLoop application we require:

  1. GNU/Linux operating system
  2. Apache web server
  3. PHP version 5.3 or higher
  4. PHP Extensions
RainLoop Demo and Preview
  1. Watch Demo of application – http://demo.rainloop.net/
RainLoop Webmail

Preview: RainLoop Webmail

Testing Environment
  1. Operating System – CentOS 6.5 & Ubuntu 13.04
  2. Apache – 2.2.15
  3. PHP – 5.5.3
  4. RainLoop –

Installation of RainLoop Webmail in Linux

As I mentioned earlier, that RainLoop Webmail is developed in PHP for Linux with Apache. So, you must have a running Web server with PHP installed on the system along with PHP modules such as cURL, ibxml, dom, openssl, DateTime, PCRE, etc. To install these all required packages, you can use package manager tool called yum or apt-get according to your Linux distribution.

Step 1: Install Apache, PHP and MySQL

Install on Red Hat based systems using yum command.

# yum install httpd
# yum install mysql mysql-server
# yum install php php-mysql php-xml pcre php-common curl 
# service httpd start
# service mysqld start

Install on Debian based systems using apt-get command.

# apt-get install apache2
# apt-get install mysql-server mysql-client
# apt-get install php5 libapache2-mod-auth-mysql libmysqlclient15-dev php5-mysql curl libcurl3 libcurl3-dev php5-curl php5-json
# service apache2 start
# service mysql start

Step 2: Download and Install RainLoop Webmail

Now go the official RainLoop site and download the latest source tarball (i.e version using below link.

  1. http://rainloop.net/downloads/

Alternatively, you may also use following ‘wget‘ command to download the latest source package and extract it to a Apache web root directory. For example, ‘/var/www/rainloop‘ or ‘/var/www/html/rainloop‘.

On Red Hat based Systems
# mkdir /var/www/html/rainloop		
# cd /var/www/html/rainloop
# wget http://repository.rainloop.net/v1/rainloop-
# unzip rainloop-
# rm rainloop-*.zip
On Debian based Systems
# mkdir /var/www/rainloop		
# cd /var/www/webmail
# wget http://repository.rainloop.net/v1/rainloop-
# unzip rainloop-
# rm rainloop-*.zip

Note: You can also download the latest version of RainLoop application without a need to deal with zip archive, just use the following command in your terminal.

# curl -s http://repository.rainloop.net/installer.php | php

Step 3: Configure Permissions

After, extracting the package content, be sure to set correct permissions for the files and directories before installing the product. This is necessary to have running application with its default configuration. This is also mandatory, when dealing manual upgrade or restoring from backup. Please switch to application directory i.e. ‘/var/www/rainloop‘ or ‘/var/www/html/rainloop‘ and execute following commands thereon.

# find . -type d -exec chmod 755 {} \;
# find . -type f -exec chmod 644 {} \;

Now, set owner for the application recursively.

chown -R www-data:www-data .

Note: Depending on specific Linux distribution, user account for web server runs may vary (apache, www, www-data, nobody, nginx, etc.).

Step 4: Configure RainLoop via Admin Interface

There are two ways to configure the RainLoop application – using admin panel, or by modifying ‘application.ini‘ file manually from the terminal. But, most of the basic options are configured via web interface, and that should suffix in most cases. To access admin panel, use the following default login credentials.

  1. URL : http://Your-IP-Address/rainloop/?admin
  2. User : admin
  3. Pass : 12345

Admin Login

RainLoop Webmail Login

RainLoop Webmail Login

Change Admin Password

Once, you logged-in it’s recommended to change the default password to protect the application from the malicious attacks.

Change Default Password

Change Default Password

Set Password

Set Password


You can customize your login screen by adding custom Titles, Descriptions and path to Logo.



Enable Contacts

To enable contacts feature, we need to use supported database. Here, we will be using MySQL as database for enabling contacts. So, create the database manually using the following commands on the terminal.

# mysql -u root -p
mysql> create database rainloop;
mysql> exit;

Now enable the contacts feature from the Admin Panel –> Contacts page.

Enable Contacts

Enable Contacts

Add Domains

You may add or configure your domains at Admin Panel –> Domains –> Add Domain Page. The recommended setting for adding domain is localhost i.e., and Port 143 for IMAP and Port 25 for SMTP. Based on the server configuration, you may also select SSL/TLS for IMAPS/SMTPS and don’t forget to tick ‘Use short login form‘ checkbox.

Add Domain

Add Domain

Plugins – Enable Password Changing

This plugin add functionality to change the email account password. To enable this plugin, you need to install a package called ‘poppassd‘ on the server.

# apt-get install poppassd	[on Debian based Systems]

On Red Hat based systems, you need to download and enable Razor’s Edge Repository for your specific distribution and then install the ‘poppassd’ package using the following command.

# yum install poppassd

Next, go to the Admin Panel –> Package section to install plugin.

Poppasswd Plugin

Poppasswd Plugin

Enable, the poppassd plugin from the Admin Panel > Plugins page and tick the ‘poppassd-change-password‘ box. Add the server details such, Port 106 and enter ‘*‘ for Allowed emails.

Enable Poppasswd Plugin

Enable Poppasswd Plugin


Integration with Facebook, Google and Twitter enables users to log-in using social network credentials. The Dropbox integration enables users to attach files from their dropbox storage.

To enable social integration, go to Admin Panel –> Social tab, and add appropriate fields for specific social networks. For more detailed instructions on social integration can be found at http://rainloop.net/docs/social/.

Reference Links

RainLoop Homepage

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

21 Responses

  1. Iss Meftah says:

    I don’t understand why we need to install database service? its not required for RainLoop. as they say on their website.

  2. Sharad Jash says:

    How can I mount the mailboxes of users in separate storage device?

    Thanks in advance..

    • Ravi Saive says:


      It’s so simple, just attach or add new separate device and mount the directory where all users mailboxes resides.

  3. caius says:

    hi, i did evrything until point 4 when i am trying to conect i get this error : Not Found

    The requested URL /rainloop/ was not found on this server.
    Apache/2.4.10 (Debian) Server at Port 80

  4. Guillermo says:

    How do you enable HTTPS on Debian (wheezy) for RainLoop? Running Nginx.


  5. J Mani says:

    Hello All !

    You can try our HTML based webmail solution .. Works from existing Email servers , fast and secure solutions .


    eLoginex Solution

  6. Tom Jackson says:

    Good article. I have used rainloop in the past and it covered a great amount of work for me.
    Personally I love this webmail.
    But bear with me, recently I discovered a great article about an application for a customer-centered workflows and business webmail management. It drastically changed my webmail preferences due to the numerous features it offers. It’s called VTEDDY. It’s official documentation is nice, but i am not so good in the linux cli and luckily for me i found this great article : https://www.rosehosting.com/blog/install-vteddy-on-an-ubuntu-14-04-vps/ so i installed and tried the application. I am very satisfied and can recommend to anyone that wants a complete webmail solution.

  7. Anuraag says:

    I have followed this tutorial and installed it correctly on my server. Also I am running virtualmin on it. I have installed it on http://ip_address/rainloop. The rainloop does not show up. And I Tried installing it on another server without virtualmin, it worked perfectly. Pl tell me how to run both of them on a single server.


Got something to say? Join the discussion.

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.