Sendy is a self-hosted email newsletter application. The difference between Sendy and other popular email marketing services like Mailchimp is that Sendy needs to be installed on your own server. In this article I will walk you through how to install Sendy.
Here are the steps we need to go through:
- Get a copy of Sendy
- Get a server and domain name
- Create database and database user
- Edit the sendy configuration file
- Upload files to server and finish installation
If this seems complicated, don’t worry it’s not. And as we wrote in our previous article, “Self-hosted Newsletter App or Email Marketing Service“, it’s very much worth the hassle since you can save a lot of money on email marketing if you use your own newsletter application.
1. How to install Sendy : Get a copy of Sendy
Sendy is not a free software, but it’s not too expensive either. You can get it for a one-time fee of $59 by clicking here.
After the payment you will receive an email from Sendy with a link to download the software and your licence key. Make sure you save this email because you may need it in the future.
2. Get a server and domain name
In order to install Sendy, you need a domain name and server. We use A2Hosting, but you can use any other companies. With A2Hosting Sendy runs perfectly even on a shared hosting environment. If you have very large email lists or provide newsletter services to others, you may want to consider a Virtual Private Server to give you more power. With A2Hosting you can also register your domain name when you purchase the server.
3. Create database and database user
Sendy stores its data in a database. so before we install sendy, we need to create a database. If you are using A2hosting you should have access to cPanel, which is a web hosting control panel that can be used to manage your server.
Go to your cPanel and find the “DATABASES” section and “MySQL Databases”. Here create a new database:
You can name the database anything you want. Please note that the server autamatically adds a prefix to the database name. This is usually your cPanel username. Let’s say our cPanel username is “xy” and the name of the database we just created is “sendy”. So the database name will look like: “xy_sendy”. You need this whole name.
Now we need to create a database user. On this same page, scroll down and create a database user and set a password for this user. Let’s say we use the following password: “sendydbpassword”.
Again, the name of the user can be anything you want. Let’s say the database username is “paul”. The username will look like this: “xy_paul”. Make note of the database username and the password.
Now we have to add this user to the database we created earlier. Still on the same page, at the “Add User To Database” section select the user (xy_paul) and select the database (xy_sendy).
Click “Add”. You will see something like this:
Here we have to let the server know what kind of privileges this user has over this database. Check all boxes and click “Make Changes”.
Now the user and the database are connected and the user has all the necessary privileges on the database.
4. Edit the sendy configuration file
If you haven’t already, please download Sendy. You’ll find the download link in your purchase confirmation email. You’ll have a zip file, extract it onto your hard drive. You’ll see a bunch of files and folder. Go to the “Includes” folder and open the “config.php” file with a text editor like notepad or a code editor like Visual Studio Code, Sublime text etc.
This is the part we need:
/* Set the URL to your Sendy installation (without the trailing slash) */ define('APP_PATH', 'http://your_sendy_installation_url'); /* MySQL database connection credentials (please place values between the apostrophes) */ $dbHost = ''; //MySQL Hostname $dbUser = ''; //MySQL Username $dbPass = ''; //MySQL Password $dbName = ''; //MySQL Database Name
You need to edit this to look like this:
/* Set the URL to your Sendy installation (without the trailing slash) */ define('APP_PATH', 'https://yoursite.com/sendy'); /* MySQL database connection credentials (please place values between the apostrophes) */ $dbHost = 'localhost'; //MySQL Hostname $dbUser = 'xy_paul'; //MySQL Username $dbPass = 'sendydbpassword'; //MySQL Password $dbName = 'xy_sendy'; //MySQL Database Name
So first you need to add the url where you want to install sendy. This can be a root directory, a subdirectory or a subdomain. In this example I install Sendy in a subdirectory called “sendy”.
The “dbHost” is almost always called “localhost”. If it is different, you will need to ask your hosting provider what it is.
The dbUser, dbPass and dbName should be pretty straightforward. These are the details that we just created in cPanel. Of course you will need to replace them with your actual values.
Once this is ready, save the file and upload all files and folders to your server.
5. Upload files to server and finish installation
Once you uploaded all files, type the url of you sendy installation to your browser. You should see the following page:
Here you need to provide your licence key. The rest of the fields are straightforward. You don’t need to provide your AWS details to finish the installation. In another article we will go thorough how to set up Sendy with Amazon Simple Email Service.
If in the “Server compatibility checklist” you see anything in red, you’ll need to address those issue. If you have any questions, leave a comment below.