How to Setup Sendy on Ubuntu?

A step-by-step guide to installing and setup Sedy on Ubuntu 18.x

Why spend hundreds of dollars per month when you can send more than 100,000 emails in around $25 per?

As you can see if you send ~100,000 emails using Sendy, it would cost $10.02 per month. Do you think why I said $25?

Here you go…

Sendy is a self-hosted email marketing software which can be installed on VPS or Cloud server. It leverages AWS SES to send emails at a much cheaper cost. You need to pay one time $59 to buy the Sendy software. And as I mentioned you need to get it installed on your server which usually cost around $10 per month.

So, if you do the maths, it would cost less than $25 per month which includes Sendy one-time payment, Cloud VM and Amazon SES.

And not just DigitalOcean but you can get it installed on any other cloud platform. Sendy is not a resource intensive software, so entry-level server (1 CPU/1-2GB RAM) should be fine.

Here are some options.

Until now, you know the pricing benefits. Let’s take a look at some of its features.

If you are using WordPress, then Sendy got a simple widget to collect emails. Alternatively, you can use Thrive Leads to integrate with Sendy to collect emails faster.

Note: you should be familiar with basic Linux administration to log in and install the software. Don’t worry if not; you can hire a professional on Fiverr to get it done for you.

Let’s get it started…

The following, I will use Ubuntu 18.04 on Google Cloud VM to install MariaDB, Apache, PHP, and Sendy. I’ll set up on a sub-domain called

Creating AWS IAM Credentials

First thing first – let’s create IAM credential on AWS which will be needed in the next step. I assume you already have AWS account if not, you can signup here.

You can also follow the instructions as explained in the video.

Don’t share the access and secret key with anyone. Keep it safe!

Installing Sendy

apt-get install apache2
a2enmod rewrite
apt-get install php-fpm libapache2-mod-php php-mysql php-curl php-xml
apt-get install mariadb-server mariadb-client

Let’s run the security script to harden the SQL. Run the below command and set the password for root. Press Y for all the options.



[email protected]:/var/www/html# mysql_secure_installation   NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!  In order to log into MariaDB to secure it, we'll need the current password for the root user.  If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here.  Enter current password for root (enter for none):  OK, successfully used password, moving on...  Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation.  Set root password? [Y/n]  New password:  Re-enter new password:  Password updated successfully! Reloading privilege tables..  ... Success!   By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them.  This is intended only for testing, and to make the installation go a bit smoother.  You should remove them before moving into a production environment.  Remove anonymous users? [Y/n] y  ... Success!  Normally, root should only be allowed to connect from 'localhost'.  This ensures that someone cannot guess at the root password from the network.  Disallow root login remotely? [Y/n]   ... Success!  By default, MariaDB comes with a database named 'test' that anyone can access.  This is also intended only for testing, and should be removed before moving into a production environment.  Remove test database and access to it? [Y/n]   - Dropping test database...  ... Success!  - Removing privileges on test database...  ... Success!  Reloading the privilege tables will ensure that all changes made so far will take effect immediately.  Reload privilege tables now? [Y/n]   ... Success!  Cleaning up...  All done!  If you've completed all of the above steps, your MariaDB installation should now be secure.  Thanks for using MariaDB! [email protected]:/var/www/html#
mysql -u root -p
create database sendy;
GRANT ALL ON sendy.* TO 'sendy'@'localhost' IDENTIFIED BY 'password';

Note: change the password to some complex one

Its time to upload Sendy software. When you buy, you will receive an email with download link and a license key. You need to upload the downloaded software to your server.

cd /var/www/html
cd includes vi config.php

As you can see, you need to update five parameters (APP_PATH, dbHost, dbUser, dbPass, dbName)

So far so good? Let’s quickly restart all the necessary software.

service apache2 restart service php7.2-fpm restart service mysql restart

All the preparation work is done and its time to install Sendy. Before that, let’s ensure the server has all the required library by accessing a compatibility.php file

You should see them all green.

Great, let’s start the installation…

You will also receive an email from AWS to confirm the email. You have once done, login to Sendy.

This concludes Sendy is successfully installed and ready to use. But, wait, don’t go way.. there is more.

Increase AWS SES Quota

If you look at the previous screenshot, you will notice about sending email limit in red color text. By default, AWS allows sending 200 emails daily which may not be sufficient for many cases. To increase the quota, go to service limit increase request and submit it.

Note: you need to choose the same region as your Sendy is connected to. By default its N. Virginia. To verify, go to settings on Sendy dashboard >> AWS SES region

It is not instant, so you got to wait for a few hours to get the sending limits increased. AWS will notify you.

Verifying Domain

For better email delivery, you should consider verifying domain on AWS SES.

Once you add the TXT and CNAME records, it may take up to 72 hours to get it verified. And once done, you should see all green under verification, DKIM and enabled for.

Next, verify an email which you will be using to send the newsletter.

You’ll get a verification email to the email address you provided. Once confirmed, you should see the status as verified.

Now you are good to use Sendy!

Login to Sendy and create a brand, import list (if you already have one), integrate with lead conversion and everything you want to do.


It takes a little bit of time to setup Sendy but worth it. If you have a large subscribers list, then you could save $$$$ annually.