Setting up Newsletter+

Installing Newsletter+ is a pretty simple process. Upload the files, set writable permissions, create a database, set a few settings and the rest are a matter of clicking around your Amazon Web Services, Mandrill, Mailgun, Sendgrid and UniOne consoles. The instructions are described in the following easy to follow steps.

If you require installation service, we do provide it for only $40. Simply reply the license email sent to you after purchase.

Download installer

Step 1 Check system requirements

Note: We recommend install script on VPS server with 512 mb RAM or more.

You are looking for VPS? Look at the offer from our partners REG.COM.

Below is the list of system requirements your server should meet to get our script running smoothly.

  • PHP 5.2 or newer (with MySQL extension)
  • MySQL 5 or higher (with utf8_general_ci MySQL-encoding)
  • Latest IonCube PHP Loader enabled on your server
  • magic_quotes, safe_mode & open_basedir restriction switched Off
  • allow_url_fopen switched On
  • Cronjobs/scheduler support (better to configure them to run every minute)
  • gd2, iconv, mbstring, imap, curl, sockets, tidy, mysql extensions for php
  • mod_rewrite library and support of .htaccess files with RewriteRule attribute
  • max_execution_time is 0 and max_input_time is -1 in the php.ini config file

You can check requirements by file inf.php?action=requirements on your site.

Site speed and work safety depend on hosting.

Note: We recommend install script on VPS server with 512 mb RAM or more.

Step 2 Upload files

1. Upload all files to your server.

2. Make sure the .htaccess file (from the main directory), is uploaded to your server as well (may be hidden if you're using a Mac).

Note: Use Binary transfer mode when uploading source codes. This is a strict requirement of IonCube encoded files. Open code version also has 1 encoded file.

Step 3 Set permissions of all folder and files

Installation and updates requires the application, temp, system folder's permission to be set to 777 (and all of its subfolders and files).

Image, attachment and CSV uploads requires the uploads folder's permission to be set to 777 (and all of its subfolders and files).

Step 4 Install Newsletter+

1. Visit your Newsletter+ installation. If you uploaded Newsletter+ to http://yourdomain/newsletter, visit this link to install.

2. Your License key is included in the email sent to you after you made your purchase.

3. Fill in your FTP server access information (hostname, username and password) and press "Save data" to continue. You can skip this settings.

4. Fill in your MySQL database access info (host, name, user, password) and save it.

5. The system will download all modules before installation.

6. The system will start installation.

7. You'll be asked to specify your Email and Password. These will be your login credentials for Newsletter+.

Step 5 Configure Cron Jobs (Scheduled Tasks)

Run this jobs every minute:

* * * * * php /path_to_script/cron_index.php cron email_newsletters process >/dev/null 2>&1
* * * * * php /path_to_script/cron_index.php cron email_newsletters bounces >/dev/null 2>&1
* * * * * php /path_to_script/cron_index.php cron email_servers send >/dev/null 2>&1
* * * * * php /path_to_script/cron_index.php cron email_notifications process >/dev/null 2>&1
* * * * * php /path_to_script/cron_index.php cron subscribers import >/dev/null 2>&1
* * * * * php /path_to_script/cron_index.php cron monetization time_limited >/dev/null 2>&1

Run this job every day:

0 0 * * * php /path_to_script/cron_index.php cron install check_license >/dev/null 2>&1

This is examples of Cron Jobs. Don't use copy/paste. path_to_script need replace to full path from the root folder to folder with cron_index.php file.

Cron jobs don't know site url. To fix it open file /application/config/config.php and enter website url to variable base_url, if the script did not do so during installation.

Step 6 Sign up for Amazon (AWS) & get your Access Credentials

In order to use Amazon SES, you need to signup for an Amazon Web Services (AWS) account.

1. Visit Amazon Web Services (AWS) and sign up for an AWS account.

2. Once signed up, you need to retrieve your 'Access Credentials' from your AWS account. These are the set of "keys" to allow script to send emails via your Amazon SES account. Start by creating an IAM (Identity and Access Management) user in your IAM console.

3. Click the Create New Users button:

4. Type "nps" in the first field, then click the Create button.

5. Copy your Access Key ID and Secret Access Key from the screen that follows and paste it in System -> SMTP & API systems -> API systems > Amazon SES API. Check API hosts (endpoints) here. Save your Settings then return to your IAM console to close the credentials window.

6. IMPORTANT: Do not skip the remaining steps.

7. You now need to "Attach Policy" to your Access Credentials to allow nps full SES access. In your IAM console, click on "nps".

8. In the next page, click the Attach Policy button.

9. Search for AmazonSESFullAccess, then click the checkbox next to the AmazonSESFullAccess item. Then click Attach Policy at the bottom of the screen.

Step 7 Setup Amazon Simple Email Service (SES)

IMPORTANT: Before continuing, ensure that the drop down menu at the top right of your SES console displays the same region as what is set in your API host Settings.

In order to start sending bulk emails, you need to verify your sending emails or domains and increase your SES Sending Limits.

1. Verify your sending email address in your Amazon SES console > Verified Senders > Email Addresses. Say you're going to use yourname@domain.com to send newsletters, verify yourname@domain.com in your SES console. Click the Verify a New Email Address button and follow the instructions.

Tip: If you want to send from any email address belonging to a particular domain without having to verify each email address, verify your sending domain instead (see #2 below).

2. To verify your sending domain, go to your Amazon SES console > Verified Senders > Domains. Then click the Verify a New Domain button and follow the instructions. By verifying your sending domain, you can send from any email address belonging to this domain without verifying them in #1.

Note: Do not verify your domain with 'www' prepended to your domain. Eg. if your domain is mydomain.com, verify mydomain.com and not www.mydomain.com unless your emails looks like this name@www.mydomain.com (which is rarely the case).

3. Now, you'll need to request Amazon to increase your SES Sending Limits to be able to send to and from any email address as well as raise your daily sending limits from 200 per day to a number you need.

Setup bounce handling

Amazon SNS is required to track bounces & complaints. If an email bounced, the email address will be flagged in Newsletter+ so that future newsletters won't be sent to them again. To make this possible, here's what you need to do:

1. Go to your SNS console, click Topics on the left sidebar, then click the Create new topic button.

Name it bounces and leave the Display name blank, then click the Create topic button.

2. After creating the topic bounces, click the 'bounces' checkbox then click the Actions button, then click Subscribe to topic.

3. Now you need to populate the Endpoint field. Let's enter to Endpoint Email for Bounces noreply@site.com. In other words, you must create new Email address for Boucnes and Complaints. Don't forget add this address into verified email addresses.

Click the Create subscription button.

4. Go to your Amazon SES console > Verified Senders > Email Addresses and click on the email you attempted to verify. If you verified a domain, go to Amazon SES console > Verified Senders > Domains and click on the domain you attempted to verify.

5. Under 'Notifications', click Edit Configuration.

6. Under 'SNS Topic Configuration', click the Bounces drop down menu and select bounces (which is what you've created previously in your SNS console).

7. Repeat #5 to #7 for every email and/or domain you've previously verified in your SES console.

8. Done! All email bounces will now be tracked and handled when you send emails in Newsletter+.

Setup complaints handling

If a user marks your email as spam, they will be flagged in Newsletter+ so that future newsletters won't be sent to them again.
The following steps to setup complaints handling are identical to bounce handling in the previous step:

1. Click Create new topic in your SNS console.

Name it complaints and leave the Display name blank, then click the Create topic button.

2. After creating the topic complaints, click the 'complaints' checkbox then click the Actions button, then click Subscribe to topic.

3. Now you need to populate the Endpoint field. Let's enter to Endpoint Email for Bounces noreply@site.com. In other words, you must create new Email address for Boucnes and Complaints. Don't forget add this address into verified email addresses.

Click the Create subscription button.

4. Go to your Amazon SES console > Verified Senders > Email Addresses and click on the email you attempted to verify. If you verified a domain, go to Amazon SES console > Verified Senders > Domains and click on the domain you attempted to verify.

5. Under 'Notifications', click Edit Configuration.

6. Under 'SNS Topic Configuration', click the Complaints drop down menu, scroll down and select complaints (which is what you've created previously in your SNS console).

7. Repeat #5 to #7 for every email and/or domain you've previously verified in your SES console.

8. By now, you should have setup bounces and complaints for every verified email and/or domain.

Step 8 Sign up for Mandrill & get your API key

In order to use Mandrill, you need to signup for a Mandrill account.

1. Visit Mandrill and sign up for an account.

2. Once signed up, you need to retrieve your 'API key' from Mandrill account. Go to the Settings and click to Add API Key button.

3. Increase your sending limits. Go to the Account and click to Upgrade account button.

Setup Bounce Notifications

1. Go to your Mandrill console, click Settings on the left sidebar, then click the Sending defaults tab.

2. Find 'Forward Bounce Notifications To This Address' input and enter Email address for Bounces. Click to 'Save' button.

Step 9 Sign up for Sendrid Email Service

In order to use Sendrid, you need to signup for a Sendrid account.

1. Visit Sendrid and sign up for an account. You can choose Free plan.

2. Once signed up, you can use your login and password in Newsletter+.

3. Complete personal information. Your account will verified. You will not be able to send out any email before verification.

Setup Bounce Notifications

1. Go to your Sendgrid console, click Settings on the left sidebar, then click the Mail settings menu.

2. Find 'Forward Bounce' and 'Forward Spam' settings and enter Email address for Bounces. Activate this settings.

Step 10 Sign up for Mailgun

In order to use Mailgun, you need to signup for a Mailgun account.

1. Visit Mailgun and sign up for an account.

2. Once signed up, you can verify your Doman name. Click to Add Your Domain button.

3. Mailgun will show DNS records which you must add. Once you make the above DNS changes it can take 24-48hrs for those changes to propagate. Mailgun will email you to let you know once your domain is verified.

Step 11 Sign up for UniOne

In order to use UniOne, you need to signup for an UniOne account.

1. Visit UniOne and sign up for an account.

2. Once signed up, you can verify site ownership. Visit and follow the instructions.

3. Before you start sending emails, you also need to confirm all sender Emails or domains. Visit and follow the instructions.

Step 12 Setup Bounces and Complaints handling

Email Services are required to track bounces & complaints. If an email bounced, the email address will be flagged as Error in Newsletter+ so that future newsletters won't be sent to them again. To make this possible, here's what you need to do:

1. Go to your site in the Admin mode, click System in the Left menu, then click the SMTP & API button.

2. You will set sender's Email and name. This data will be used for Email alerts from your site.

3. Below you can see Boucnes settings. You will enter IMAP access for mailbox where Newsletter+ will accept bounces and complaints. Script will add this Email to each letters into Return-Path and X-Complaints-To.

Step 13 Setup Email sending in the Newsletter+

Email Services has API keys or credentials. You received this information in the steps 6-11. To add Email Services into Newsletter+, here's what you need to do:

1. Go to your site in the Admin mode, click System in the Left menu, then click the SMTP & API button. Click the Email servers tab.

Note: You must add Email servers for each Email service. One Email server is One sending thread. Newsletter+ uses Multi-Threading. If you want send faster then you can add many Email servers for Email Service, just use similar API keys or credentials.

2. You will add Email server. Click to Add button.

3. Select Email service in Mail solution like Amazon SES, Mandrill, Sendgrid, Mailgun or UniOne. Complete API keys or credentials.

4. Fill all default fields. You can set Server's name like Amazon 1, Amazon 2, Madrill 10, etc. This is just for identify. You can set Charset, Quota limit. Enable server's usage for Email newsletters and/or Email alerts.

Note: You must enable usage for Email newsletters and/or Email alerts. If you have disabled "usage for Email newsletters" it mean that server do not used for Email newsletters sending.

Remember: If you want send faster then you can add many Email servers for Email Service, just use similar API keys or credentials.

Enjoy Newsletter+! What's next?

Congratulations! You're all set up.

Log in to your Newsletter+ installation and start adding your first User's account. Why user's account first? Let's just say you own this company called Widgets Inc. And, you have several products under it. These several "child" products are what we refer to as 'User's account'. With Users feature, you can also setup accounts for each of your clients. Optionally send them a password to login and send newsletters on their own at a price you set.

For every new email you wish to use as your 'From email', don't forget to verify it (step 7 or step 11).

If you've already verified the sending domain in your Amazon SES console and setup bounces & complaints for it, you don't have to do the same for each email you want to use as your 'From email'.

Have fun!


Troubleshooting & Support

Please visit the troubleshooting page if you need any help.

Newsletter+ API

View Newsletter+ API documentation.

Translate Newsletter+

View our documentation on how to translate Newsletter+ into your own language.