You can use external SMTP services like AWS SES, Mailgun, Sendgrid, Elastic Email, etc. with your RainLoop webmail client for sending emails. This will require you to install “Override Smtp Credentials” plugin from its admin panel and then to configure it using your SMTP provider’s details.
Nowadays many web hosting providers block outgoing emails from their servers to prevent spamming from their platform. That’s why after setting up your RainLoop account when you go to send any emails you might see an error or the mail might not reach your audience.
Additionally, even if your web hosting provider doesn’t block outgoing emails, you may still find that your emails aren’t reaching your audiences' inbox. That’s because you may first need to warm up any new IP addresses, which you are using for sending out emails, before the emails from those IP addresses reach your audiences’ inbox. Otherwise, they might land in your audiences’ spam box.
Also, the IP address of your hosting provider might also have a bad sending reputation because of other people who have used that IP address before you or are using the IP address alongside you in case of a shared hosting solution.
So, to increase your email deliverability or for any other reason, you may want to use an external SMTP provider to send your emails from your RainLoop webmail client. And to do that you can follow this guide.
You first should already have RainLoop installed on your server to follow this guide. Depending on your web hosting plan or your server setup you may already have RainLoop installed on your server. If that is the case then you need to go into the RainLoop dashboard following its installation path on your server. If you don’t know the installation path or the URL for accessing RainLoop, then you can look into the email section of your web hosting control panel and then try to find any link that says something like open webmail. For instance, if you are using CyberPanel, then on the left-hand side of its dashboard you will see a tab called Email and under that, you will see a link called Access Webmail. When you click on that it will take you to the RainLoop installation path.
The URL for accessing RainLoop on CyberPanel will be something like:
Here, you need to change example.com with your domain name or with your IP address or with your email hostname. Also, 8090 is the port used by CyberPanel so if you are using a different hosting control panel other than CyberPanel, then you may need to change it. Additionally, depending on your server setup your URL might be different so you will need to be careful about it. Here are some other examples of your RainLoop installation path:
Note that if you are using cPanel, Plesk, Virtualmin or some other web hosting control panel, then your default webmail client may be Roundcube, Horde or SquirrelMail instead of RainLoop. Also, your server may not come with any webmail client at all. And in these cases, you will first need to install RainLoop and then follow the instructions.
Log into RainLoop Admin Panel
Once you have the installation URL of RainLoop following the guide in the previous section, you will need to append that URL with the following text to enter its admin panel.
From the previous section we got the installation URL of RainLoop on CyberPanel to be:
So, after appending the URL with the new part, the new URL will be the following URL:
Remember to change the installation URL as per your server setup as discussed in the previous section.
Now enter this new URL on your web browser and press enter. If you are using an IP address or if your domain isn’t properly set up with SSL, then you may get a warning from the browser saying something like “Your connection is not private”. You can safely ignore this message and proceed further. For that, you may need to click on the button saying something like “Advanced” and then click on the link that says something like “Proceed to example.com (unsafe)”.
Then you will be prompted to log into the admin panel of RainLoop. This isn’t the same login that you use to access your emails. So, you will need to use the username and password that has been set for the admin panel of RainLoop.
The default login credential is:
Now, you should be inside the admin panel.
New CyberPanel instances may not have 12345 as the default password for RainLoop admin panel. In that case, run the following commad to get the password:
sudo cat /usr/local/CyberCP/public/rainloop.php
There you may find a line similar to the following:
The password should be inside the quotes inside the brackets. Here,
7wC8tYz3rbAKDa is the password so it should be different for you.
Setup External SMTP
There are many external SMTP service providers that you can choose for sending your emails. You can choose to go with someone based on their high deliverability, good pricing, or some other criteria. Once you choose your SMTP provider you will need to create an account with them to get some SMTP details that you will need to use with your webmail clients. These details will be required when you want to set up their SMTP service on RainLoop.
The information they will give you is generally a hostname or server name, a few ports that you can use, the security type they support, and a username and a password that you will need for SMTP authentication.
For instance, if you want to use Simple Email Service or SES from Amazon Web Services or AWS for sending your emails, then you will need to configure RainLoop with the SMTP details provided by them. They will give you some general information and your specific authentication information for using their SMTP service.
So, if you are using their “US East (N. Virginia)” data center then, the general information will probably something like:
Server Name: email-smtp.us-east-1.amazonaws.com
Port: 25, 465 or 587
Use Transport Layer Security (TLS): Yes
And then you will need to get your authentication information by creating your SMTP credentials. When you create your SMTP credentials, they will give you a username and a password that you will require for the SMTP authentication.
Once you have collected this information from your chosen SMTP provider you can go to the next step.
Configure External SMTP with RainLoop
To configure RainLoop for using external SMTP service, you will need to be inside the admin panel of RainLoop which has been discussed in the previous sections.
From the RainLoop admin panel, you will first need to click on the “Packages” tab from the left-hand menu. Then you will see a list of plugins under the Available for Installation heading. From here you will need to install the “Override Smtp Credentials” plugin by clicking on the download icon next to it. Once you do that you will see the plugin under the Installed Packages heading.
Next, you will need to go to the “Plugins” tab from the left-hand menu. There you will see the “override-smtp-credentials” plugin. Click on the plugin name to configure it with your external SMTP credentials.
Then a pop-up window will appear which you will need to configure with the details of your SMTP provider.
SMTP Host: Here you will need to enter the hostname or server name that has been provided by your SMTP provider. From the earlier example of AWS SES, SMTP Host will be email-smtp.us-east-1.amazonaws.com.
SMTP Port: Here you will need to provide one of the port numbers that your SMTP provider gave you. The port options provided to you will be one or more among the ports 25, 465, 587 and 2525. Then you will have to choose one and use that in the SMTP Port field.
The recommended port to use is 587 as long as it is one of the ports your SMTP provider supports or has allowed you to use. That’s because port 587 is a modern SMTP port and is supported officially. However, it will work as STARTTLS so it won’t force encrypted connection using SSL/TLS but rather it will first try to find out if an encrypted connection can be established and if it does then it will establish a secure encrypted connection using SSL/TLS otherwise it will establish a non-encrypted connection.
So, if you want to always ensure an encrypted connection then you can choose to use port 465 which will force SSL/TLS connection and if an encrypted connection can’t be established, then the connection will be abandoned. Port 465, however, has been deprecated and so isn’t supported officially but it is still used widely for establishing secure connection.
SMTP Secure: You will need to choose among three options here None, SSL, and TLS. Your SMTP provider will probably tell you to use TLS. As per the example in the earlier section of AWS SES, they support using TLS.
Use auth: Here you will need to put a checkmark on the checkbox if your SMTP provider requires authentication. Because they probably will require authentication, you will need to checkmark this field.
SMTP User: You will need to use your SMTP login details here. So use the username or whatever your SMTP provider provides you with.
SMTP Password: Here, use the password for the username that you provided in the last step.
Override users: In this field, you will need to type the email addresses that you want to use with your external SMTP service. You can use a space-separated list of email addresses. It also supports wildcard format so you will be able to capture all the email addresses from a domain name using this format. Take a look at the example below to see how you can use it:
[email protected] *@example2.com
Here, you will need to replace
[email protected] with the email address you want to use. Then also replace example2.com in the second email format with the domain you want to use. The asterisk (*) will allow you to capture all the email addresses from the domain name specified after the @ sign.
Once you are done with configuring these settings, you will need to save this by clicking on the Save button.
Then you will need to put a checkmark in the checkbox at the right side of the plugin name override-smtp-credentials.
After that, you will need to put a checkmark in the checkbox on the left side of the Enable plugins heading.
Now you will need to go configure individual domains to use the SMTP service you just configured in the last step. To do that, go to the “Domains” tab from the left-hand menu on the RainLoop admin panel. Here you will see a list of all the domain names configured with RainLoop. You can then click on any domain names to configure it to use the external SMTP service you just added. But if you don’t find the domain you are trying to configure then you can click on the “Add Domain” button and then in the Name field, type the domain name you want to add. Then you can set all the options for that domain in the other fields.
Because we are configuring the SMTP settings, we will need to configure the side that says SMTP. So, in the Server field under the SMTP side, type the same server name that you entered in the SMTP Host field in the “Override Smtp Credentials” plugin settings. Then type the same port number that you have used in the SMTP Port field earlier on that plugin. Then for the Secure field, choose the STARTTLS option if you have used port 587 in the earlier field. You may also find that as you change the options from the Secure field, it will update the port number field automatically.
Then you can keep the checkbox beside “Use short login” to unchecked if the username you entered in the SMTP User field on the “Override Smtp Credentials” plugin is the same as your username for the SMTP. But if you have entered an email address like “[email protected]” in the SMTP User field on the plugin but if your SMTP username requires only the part before the @ sign which in this case is just “user”, then you will need to put a checkmark on this field.
Note that if your SMTP username is something totally different than the one you entered in the SMTP User field, then you can install another plugin called “Custom Login Mapping” and then use that to map your email address with a username.
For the checkbox beside Use authentication, you can keep it checked if your SMTP requires authentication but if it doesn’t you can keep it to unchecked just like you did in the “Use auth” field on the plugin settings. Then for the checkbox beside, “Use php mail() function”, keep it unchecked as we won’t be needing that.
Then for the IMAP side, you can keep the configurations unchanged because it is related to receiving and storing your emails and not sending. So, it doesn’t concern us here. However, you may face difficulty if it is configured wrong and you may also find it to be unconfigured if you have just added a new domain in the domain list. So, take a look at how you can configure the IMAP side.
In the Server field under the IMAP side, you can just type your domain name or type “localhost”. Then in the Port field, you can either type 143 or 993. If you don’t want to force encrypted connection but want to use it if possible, then go with 143. But if you want to always force encrypted connection use 993. Also, for the Secure field, as you change between SSL/TLS and STARTTLS, you will find the port numbers are changing accordingly. And leave the checkbox for “Use short login” to be unchecked as we won’t need it.
Once the configurations are done, you can check if the settings are ok by clicking on the Test button. If it doesn’t give you any warnings then everything should be fine and you can save it by clicking on the Update button or Add button depending on whether you modified an existing domain or added a new one.
Then make sure to have a checkmark on the checkbox beside the domain name.
At this point, all the configurations should be completed. So, you can log out of the admin panel of RainLoop. Then access your RainLoop webmail client without using one of your email accounts that match earlier configurations.
Now try sending a test email. The email should be sent using your external SMTP.