1. Introduction

Acelle is a self hosted, full-featured, easy to use email marketing web application that lets you send high-volume marketing or transactional emails through your own server or a 3rd email service provider.

Install Acelle on your own web server and you can use marketing/transaction emails without any limitation. You can get rid of expensive email services like Mailchimp, ActiveCampaign… as you can now have full control over the entire system of your own.

Acelle is also made for commercial purposes, allowing you to manage and sell your email services to the others (SAAS - Software As A Service).

Version: 3.0.0

Developed by: Acelle Co., Ltd.

Framework: PHP Laravel 5.x

2. Installation

Acelle is a self-hosted web application written in PHP, on top of the Laravel 5.2 framework. The followings are required to install Acelle:

Below are the PHP extensions that are required for installing Acelle Mail:

Mbstring

OpenSSL

Socket

PDO Driver

Tokenizer

PHP Zip Archive

IMAP Extension

Don't worry if you are not sure which extensions are available on your server, Acelle Mail will check and prompt you to install any missing one during the installation wizard

2.1. Installation with cPanel

It is recommended that you install Acelle Mail onto one of your subdomains. Suppose your domain name is mydomain.com, then you may want to install Acelle Mail on a subdomain like marketing.mydomain.com

The steps are as follows

Go to cPanel's Subdomains menu

Add a subdomain named marketing

By default, cPanel will then create a webroot folder (document root) for your subdomain at /marketing.mydomain.com/

After you have uploaded the source files, it is important to change the subdomain's document root to the public folder of Acelle Mail

Now you can access Acelle Mail at: http://marketing.mydomain.com. Follow the web installation wizard and you will get Acelle installed on your own host.

Note: if you are on other web hosting manager like Plesk, DirectAdmin, Kloxo... the same rules apply. The key is to set Acelle Mail's public folder as the document root of your domain or subdomain.

2.2. Installation with Apache 2.4

Before installing, make sure that Apache mod_rewrite is enabled and mod_security is disabled.

Then, unzip the source file

cd /home/user/
unzip acellemail.zip

Put Acelle source folder into your domain or subdomain's document root. For example, if your Acelle source is located at /home/user/acellemail, you can configure Apache virtual host as follows, notice how DocumentRoot is setup

Change the director/file's owner to Apache's running user, to make sure it has proper permission on your source files.
If you are on Ubuntu, the default user that Apache runs under is www-data (and it is apache for CentOS/RedHat).

Then restart Apache and go to the webapp's installation URL. For example

http://yourhost.net/install

Follow the web installation wizard to get Acelle installed on your own host.

3. Configuration wizard

Once you have successfully got Acelle Mail up and running, you can go through the configuration wizard to setup it on your server.

First of all, Acelle Mail will check if there is any library missing on the server and will remind you to install it.

Once all the dependencies are installed, you can go to the next step to fill in the webapp information. The information can be changed later on in the Administration dashboard.

Acelle Mail uses a MySQL database in the background, so you need to have one available. At this step, you need to fill in the database credentials for Acelle Mail to connect to.

Once the database connection is established, Acelle Mail will initialize the database with the default settings as well as create the default administrator.

Acelle Mail will generate the cronjob settings so that you can install to your system. Cronjobs are used to trigger the email campaigns as well as other system processes in the background. Remember that Acelle Mail source folder must be writable by the cronjob processes.

And after everything is setup. You are ready to go with Acelle Mail

4. Getting started

4.1. User roles

Acelle Mail supports two different roles for user account administrator and customer. One user account can be of either or both roles.

An administrator is responsible for:

Manage users / groups

Manage service plans / subscriptions / payment methods

Manage sending servers

Manage bounce/feedback handlers

Manage sending domains

Manage application-wide settings

Manage shared template libraries

Monitor application statistics

A customer can actually work with mailing lists/campaigns:

Create/update/delete own mailing lists

Create/update/delete own campaigns

Monitor own campaigns statistics

Note: administrator and customer have their own view in Acelle Mail. If one user is of both roles, he can switch the view accordingly

4.2. Create your first campaign

A mail list containing the subscribers to whom we're are sending emails to

4.2.1. Add a sending server

There must be at least one sending server for the system. Go to Sending > Sending Servers, then choose a sending server type to add. Note that both admin and customer (with appropriate permission) can add a sending server, the detailed explanation is covered in our SAAS documentation (Section 2.4).

As of version 3.0.0, the following sending server types are supported by Acelle Mail:

Standard SMTP: send email through an internal/external SMTP service.

Sendmail: send email directly through the sendmail program on the hosting server.

SparkPost API/SMTP: send email through ElasticEmail, using its web API

more to be supported...

4.2.2. Create a mail list and campaign

As a customer, you can create a mail list to manage subscribers. Go to Lists > Create List to create a Mail List. Then you can add subscribers to your list (or potential subscribers can subscribe to your list through Acelle Mail supscription form). You can also import subscribers from a CSV file.

Once your mail list is ready, you can create an email campaign to send to your list. Go to Campaigns > Create Campaign, choose the mail list to send and follow the steps to setup and send your campaign.

5. Common issues & solutions

The open_basedir restriction in effect

If you are getting an error like this while opening the webapp:

ErrorException in /home/user/webapps/acellemail/app/Library/Tool.php line 637:
is_executable(): open_basedir restriction in effect. File(/usr/bin/php) is not within the allowed path(s): (/home/user/webapps/acellemail/email:/var/lib/php/session:/tmp)

Or

ERROR: The directory [/storage/app] must be writable by the web server.
ERROR: The directory [/storage/framework] must be writable by the web server.
ERROR: The directory [/storage/logs] must be writable by the web server.
ERROR: The directory [/bootstrap/cache] must be writable by the web server.

although you are sure the directories are already writable.

Then it is very likely that the open_basedir setting is currently enabled on your server, which prevents the application from loading.
If you are using Plesk, you can go to the domain setting page to turn it off. See the screenshot below, make sure open_basedir is set to none.

404 Not Found

If you are getting an error similar to the following while opening the webapp:

Error -
The requested URL /install was not found on this server.

Then it is very likely that mod_rewrite is not yet enabled for your web application server. Please turn it on, restar the Apache/Nginx web server and refresh the page

500 Internal Server Error

If you are getting 500 error, it is likely that it a file permission error. If you are on cPanel, make sure that the file/directory permission is correctly setup to 644 or 755 rather than 775. Also make sure that the files/directories permission under the public/ folder of Acelle Mail is correctly setup too. Changing the parent directory permission may not recursively apply to all its children.