via Amazon SES, Mandrill, Mailgun or Sendgrid API-services.
Stuck between a rock and a hard place
Your subscriber base is growing and so is the cost per campaign. Going for the monthly plan means wasting more money if you don't send newsletters regularly enough.
You're stuck. The bigger your subscriber base becomes, the more expensive it is to communicate with them. What if you can send without worrying about cost or deliverability?
Meet Newsletter+
Newsletter+ is a self hosted email newsletter application that lets you send trackable emails via Amazon Simple Email Service (SES), Mandrill Email Service from MailChimp, Sendgrid Email Service, MailGun Email API Service.
This makes it possible for you to send authenticated bulk emails at an insanely low price without sacrificing deliverability.
How much can you save?
Heaps! How much do you usually send? Drag the slider below:
Email service
Cost per
Campaign Monitor
$
MailChimp
$
Sendgrid Pro
$
Mailgun
$
Mandrill
$
Amazon SES
$
A penny saved is a penny earned.
Saved: $100.
Features you'll get:
Delivery schedule
Ability to send emails punctually might need you in many situations. For example, you want to congratulate someone on the landmark date. Or work with colleagues who are in a different country and a different time zone, and you want to get your message they received it during working hours. You may want to send a reminder to do something at the right time.
Drag-and-drop or Wysiwig
Funky and fun? Elegant? Classy? Serious? Informative? Technical? With our intuitive Drag-and-Drop Newsletter Editor and absolutely zero HTML skills you’ll soon be emailing newsletters that look professional and breathtakingly beautiful. Easily adjust style of almost every design element on the email.
Want to edit your Email campaigns via old way? We left in a classic Newsletter+ Wysiwyg-editor. You can activate it if you want. Edit your own HTML, change the text, fonts, styles, insert personalization tags and more.
Autoresponders/Triggers
Triggers automate your mailing lists management adding subscribers to a different mailing list when they open a specific email or sending subscribers a certain newsletter when a particular link is clicked etc. Thus, when you set up triggers, you can configure certain things to happen automatically when certain other events occur.
Using autoresponders you can follow up with your subscribers automatically sending a series of personalized newsletters to new subscribers at intervals you define.
Text randomizer
Want to make your letters more unique? You can use the text randomizer in the subject, text and from name fields.
Subscribers/Lists
Create hundreds or even thousands of mailing lists and either import your existing subscribers or use our newsletter script to automatically create a subscription form for your web site.
Newsletter+ allows you to import from any CSV or XLS file. You can also manually add subscribers via a simple built-in tool. Need a subscriber database for another application? Newsletter+ also features a flexible export tool.
Subscription forms
Newsletter+ allows you to easily create subscription and unsubscription forms to be used on your site. All you will have to do is to put the html code of the form which will be generated by the newsletter script into your website page.
Reports/Statistics
Newsletter+ provides statistics on newsletters that you send informing on the number of clicks, opens, unsubscriptions etc. Having this valuable information will help you to determine your contacts interests, how your list is growing, and much more!
Email sending
Newsletter+ uses multi-threading to send emails via Amazon SES, Mandrill, Sendgrid or MailGun. Free yourself from paying for expensive email campaigns and forget about email limits set by your host while at the same time enjoy high deliverability rate. Best bang for your buck.
Bounce & unsubscribe handling
Bounces, complaints and unsubscribes are automatically handled in real time once your newsletter is sent. There is no need for any manual post campaign cleanups.
Custom fields
With custom fields, you can store more than just names and emails. Use custom fields as personalization tags in newsletters to create a more personalized experience with your subscribers.
Multiple accounts
Managing multiple products or services? With Newsletter+, you can organize them into different accounts. Optionally give your client access to their own account and let them send newsletters on their own.
Monetization module *
The success of an online marketing site is also dependent on how well means of payment and paid services are thought out in a php newsletter software. We have thought through a wide range of payment gateways, payment types and services for administrator to monetize the site. * Note: Monetization module is additional paid module.
Banners module *
Administrator can create banner groups, set a fee for a group of pages and sell banner places as a paid service to users. Banners can be limited by number of views, clicks and date of expiration. The software supports image and HTML banner ads. * Note: Banners module is additional paid module. Paid services require an additional Monetization module.
News module *
You can create unlimited count of news and categories and enable news posting for users. You can restrict categories access for some languages or unregistered visitors. If you enable comments users will can post comments to news. * Note: News module is additional paid module. Paid services require an additional Monetization module.
Questions & Answers
Is this a hosted service?
No. Newsletter+ is a self hosted application that runs on your web server. Pay once and it's yours, there's no recurring fee.
What are the requirements?
You need an Apache server running a Unix like operating system (eg. Linux) with PHP, MySQL & mod_rewrite support. Almost all hosting companies support them.
Yes of course! We're using Newsletter+ as well and will continually make it better and better. Updates are free within one year after purchase.
What's with Newsletter+ low pricing?
Some say the cheapest option isn't always the best value. What they may have failed to understand is that Newsletter+ is an app that you host yourself and that it uses Amazon's, Mandrill's, Mailgun's and Sendgrid's sophisticated email infrastructure built over the years to serve its own large-scale customer base.
Can I install Newsletter+ on multiple domains?
Newsletter+ has 3 types of licenses: Single site, Multiple sites and Multiple servers. Single site license can be installed on one domain per license. To install Newsletter+ on more domains, you need additional licenses or Multiple sites (servers) license. With Multiple sites license you can use any domains installed on the same server. If you have more than one server use Multiple server license. Newsletter+ licensed domain is just 'where you install Newsletter+ on'. You can send emails belonging to any domain you want.
Are Newsletter+ files obfuscated?
Newsletter+ has Encoded and Open source licenses. Encoded license has files are Encoded by IonCube Encoder and require IonCube Loader. Open source license has files are not obfuscated except for the installation and updates (one file). With Open source license you can edit the source code for your own personal use without needing these one file.
What's SES send rate and limit?
Once signed up for Amazon SES, submit the SES Sending Limits form to request for your desired daily sending limit. Eg. if you need to send 10k emails daily, request Amazon for a daily sending limit of 10k emails per day.
Get your copy of Newsletter+
Newsletter+ is yours to keep after a one time payment. You can then save a 100x for every campaign. But these savings are useless if your emails can't be delivered to the inbox. That is why Newsletter+ uses Amazon SES, Mandrill, Sendgrid and Mailgun to send your emails (Do not use outdated methods or SMTP). If you encounter problems, we will help you. If it doesn't work out, we'll refund you: Moneyback is available within 30 days after purchase.
Single site license lets you have One site associated with one server only.
$55
One time fee
Multiple sites license lets you have an unlimited number of sites associated with one server only. License cost does not depend on the number of sites.
$90
One time fee
Multiple servers license lets you have an unlimited number of sites associated with fixed number of servers. The sites may be located on this servers only.
Single site license lets you have One site associated with one server only.
$160
One time fee
Multiple sites license lets you have an unlimited number of sites associated with one server only. License cost does not depend on the number of sites.
$230
One time fee
Multiple servers license lets you have an unlimited number of sites associated with fixed number of servers. The sites may be located on this servers only.
$300
One time fee
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 or Sendgrid 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.
Step 1 Check system requirements
Note: We recommend install script on VPS server with 512 mb RAM or more.
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+.
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.
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 notwww.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.
Step 8 Sign up for Mandrill & get your API key
In order to use Mandrill, you need to signup for a Mandrill 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 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 12 Setup Email sending in the Newsletter+
Email Services has API keys or credentials. You received this information in the steps 6-10. 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 or Mailgun. 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).
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'.
Newsletter+ codebase has been prepared for localization. Newsletter+ saves all phrases into database. But admin mode has tools for adding new languages.
Go to Admin mode - Content - Languages to translate Newsletter+ into your own language. Newsletter+ provides a user friendly interface for import/export .xml files (the file you need to edit to translate Newsletter+ into your own language).
The following instructions will get you started.
Step 1 Export English language from Database
1. Go to Admin mode - Content - Languages and Export english language as english.xml file.
2. You may want to save this language file in your local hard disk for ease of translation.
Step 2 Start translating
1. Edit the english.xml file.
2. Don't forget to save after you're done translating.
Step 3 Import your language file
Go to Admin mode - Content - Languages and Import new language from .xml file.
Updating your language
Congratulations. You've just translated Newsletter+ into your own language.
Future versions of Newsletter+ will no doubt have new texts added to it which will require you to translate them. Here's how to update your language and translate new texts.
1. Go to Admin mode - Content - Languages and export your language as language.xml file.
2. Compare old file and new file for new lines and translate this lines.
3. Import file with changes again.
Hit a snag?
Around 97% of Newsletter+ users runs Newsletter+ without a problem. If you do hit a snag, it may be one of the common ones compiled below.
Newsletter+ uses URLs without extensions, also known as 'Pretty URLs'. Instead of using URLs that ends like this /email_newsletters.php, it uses URLs that ends like this /email_newsletters. If you get a 404 error, check the following list:
3. If you setup your own server, ensure AllowOverride All is set in your Apache's httpd.conf instead of AllowOverride None so that Newsletter+ .htaccess file is not ignored by your server.
Page is blank
1. Visit your compatibility checklist page via http://installation_url/inf.php?action=requirements (replace 'installation_url' with your Newsletter+ URL) and check that mysqli and IonCube Loader extensions are installed on your server. If otherwise, contact your hosting support to install mysqli and IonCube Loader extensions on your server.
2. Check writable permissions for all files and folders. Newsletter+ uses Smarty templates. If server can't write temporary files then you can see White page.
Check that regular apostrophes are wrapping the credentials in all files into /application/config/. The text or code editor you used to edit files into /application/config/ may have converted the apostrophes to non-standard apostrophes causing this issue.
4. Make you did not unintentionally add empty spaces or lines before the start of the first line or after the last line of code in all files into /application/config/. This will cause a 'headers already sent' error that'll halt the script, preventing it from redirecting you to the installation page.
5. Site mode is 'production' by default. Production mode not shows Errors and you can see White page. Edit /index.php and set mode to 'development'.
Using Newsletter+
Some records weren't imported from my CSV
The reason why some emails aren't imported is because they are either malformed email addresses, duplicates within the list or CSV, previously marked as unsubscribed or spam in the list or marked as bounced globally (in any list or accounts).
I have trouble importing a huge CSV file
Try adjusting/increasing the following values in your server's php.ini. Contact your host if you're unsure how to do this.
upload_max_filesize
post_max_size
memory_limit
max_execution_time (set to 0 so that execution won’t time out indefinitely)
Alternatively, try splitting your huge CSV file into several smaller sized CSV files and import them one after another.
My emails are going to the spam folder
The reason why your email goes to spam depends on a multitude of factors.
Emails are sent through Amazon SES. Amazon works day in and out maintaining good relationships with ISPs and constantly weeding out spammers so that deliverability rate is kept at its highest for all users using the service.
If your emails end up in the spam folder, it is likely due to your sender reputation. If the emails you sent has been consistently marked as spam by your recipients, the likelihood of your emails going to the spam folder will be high. If you are sending emails to 'purchased lists' or emails harvested from questionable sources, that explains it.
Spam filters on the receiving end are also very strict in what kind of emails they will put in the inbox. Try researching on this topic, eg. google for "spam filters", "how to get pass spam filters" etc.
Lastly, authenticate your 'From email' so that the receiving end knows that the email you sent is really from you and not spoofed:
This is due to a webkit issue, only happens in Chrome and Safari.
On a Mac, press 'Shift' and click the refresh button at the same time to force the font icons to load.
On Windows, press 'Ctrl + F5' to force the font icons to load.
Sending speed
Your server and its physical location determines what kind of sending speed you'll be experiencing.
Server
Newsletter+ can only perform as well as the kind of your server you're using. Newsletter+ is a 'bulk email application', almost everything is performed in bulk, from importing CSVs to sending of emails. The larger your volume, the more server resources it uses.
The better the spec of your server, the faster Newsletter+ performs.
If you can, increase your server's memory_limit to a number close to what your server physically supports by editing your server's php.ini.
Newsletter+ works well on a shared server, but if you have a very huge volume, consider running Newsletter+ on a VPS.
Server location
Also, you are able to choose which Amazon SES region (US East, US West and EU) to send emails from. Always choose the region closest to the physical location of your hosting server where Newsletter+ is hosted. When you send a newsletter, Newsletter+ transfers emails to Amazon SES. Amazon SES in turn sends out your emails. The closer the physical location of your server versus Amazon SES's servers, the lesser the latency and the faster the sending speed.
Install trial version for 14 days and win Basic license for Free!
Submissions will start on 15th of each month and will last 1 month. The drawing will take place on 16th of the next month. The winner will receive free Basic license.
Request Trial version for Testing
You can try full-featured php Email marketing script on a server. Both user and admin panels are available for testing. Your settings are saved for the entire testing period.
Thanks for your Interest for Newsletter+!
The information has been sent to your specified Email.
Newsletter+ API is based on simple HTTP GET/POST. Use the API to integrate Newsletter+ programmatically with your website or application. Some APIs may require the latest version of Newsletter+. We're working to include more APIs.
Subscribers
Create
This method creates a new subscriber. You can't use this method to update an existing subscriber. On another note, you can also embed a subscribe form on your website using Newsletter+ subscribe form HTML code. Visit Forms, add new form, click 'HTML code' and place this code on your website.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
Note: Custom fields not available right now via API. Use forms for do it.
usernameaccount's login
passwordaccount's password
methodsubscribers.add
formatformat of responce: json, jsonp or xml by default
fnamefirst name is optional
snamesecond name is optional
emailsubscriber's email
phonesubscriber's phone
subscriber_languagelanguage for confirmation alert
liststhe array of list ids you want to subscribe a user to. IDs are integer values and can be received via mailing_lists.get_list method
lists_statusesthe array of subscription statuses for lists, 0 - not subscribed or not confirmed yet, 1 - subscribed. Keys of array must contain List IDs, values of array must contains statuses
check_emailset this to "1" so that you'll check Email for existence. Not availabe if Admin disabled this feature, check settings before via subscribers.get_settings method
ignore_autorespondersset this to "1" so that you'll ignore Email autoresponders
ignore_triggersset this to "1" so that you'll ignore Email triggers
confirmationset this to "1" so that you'll send confirmation for Lists with 0 status. Not availabe if Admin disabled this feature, check settings before via subscribers.get_settings method
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data.subscriber_id: subscriber's ID
Update
This method updates an existing subscriber. You can't use this method to create a new subscriber.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
Note: Custom fields not available right now via API. Use forms for do it.
usernameaccount's login
passwordaccount's password
methodsubscribers.update
formatformat of responce: json, jsonp or xml by default
idsubscriber's ID
fnamefirst name is optional
snamesecond name is optional
emailsubscriber's email
phonesubscriber's phone
subscriber_languagelanguage for confirmation alert
liststhe array of list ids you want to subscribe a user to. IDs are integer values and can be received via mailing_lists.get_list method. If size of array more than 0 then Subscriber will removed from other lists not included into this array
lists_statusesthe array of subscription statuses for lists, 0 - not subscribed or not confirmed yet, 1 - subscribed. Keys of array must contain List IDs, values of array must contains statuses
check_emailset this to "1" so that you'll check Email for existence. Not availabe if Admin disabled this feature, check settings before via subscribers.get_settings method
ignore_autorespondersset this to "1" so that you'll ignore Email autoresponders
ignore_triggersset this to "1" so that you'll ignore Email triggers
confirmationset this to "1" so that you'll send confirmation for Lists with 0 status. Not availabe if Admin disabled this feature, check settings before via subscribers.get_settings method
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Delete
This method deletes an existing subscriber.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.delete
formatformat of responce: json, jsonp or xml by default
idsubscriber's ID
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Get by ID
This method receives data for an existing subscriber by ID.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.get_by_id
formatformat of responce: json, jsonp or xml by default
idsubscriber's ID
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty or array, subscriber's data
Get by Email
This method receives data for an existing subscriber by Email address.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.get_by_email
formatformat of responce: json, jsonp or xml by default
emailsubscriber's Email address
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty or array, subscriber's data
Get count
This method receives count of an existing subscribers.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.get_count
formatformat of responce: json, jsonp or xml by default
mailing_list_idList ID uses for filtration, 0 - all subscribers
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data.count: count of an existing subscribers
Get list
This method receives list of an existing subscribers.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.get_list
formatformat of responce: json, jsonp or xml by default
mailing_list_idList ID uses for filtration, 0 - all subscribers
pagepage's number, uses for pagination
countitems per page, uses for pagination
ordersorting by subscriber's data: email, phone, fname, sname, date_created by default, etc.
order_typesorting direction: asc or desc by default
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: array, list of an existing subscribers
Get subscriptions
This method receives list of subscriptions for existing subscriber.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.get_subscriptions
formatformat of responce: json, jsonp or xml by default
idsubscriber's ID
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: array, Keys as List ID's and Values as statuses (0 - not subscribed or not confirmed yet, 1 - subscribed)
Subscribe
This method adds an existing subscriber to the list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.subscribe
formatformat of responce: json, jsonp or xml by default
idsubscriber's ID
list_idlist's ID
status0 - not subscribed or not confirmed yet, 1 - subscribed
ignore_autorespondersset this to "1" so that you'll ignore Email autoresponders
ignore_triggersset this to "1" so that you'll ignore Email triggers
confirmationset this to "1" so that you'll send confirmation for Lists with 0 status. Not availabe if Admin disabled this feature, check settings before via subscribers.get_settings method
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Unsubscribe
This method removes an existing subscriber from the list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.unsubscribe
formatformat of responce: json, jsonp or xml by default
idsubscriber's ID
list_idlist's ID
ignore_autorespondersset this to "1" so that you'll ignore Email autoresponders
ignore_triggersset this to "1" so that you'll ignore Email triggers
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Settings
This method receives settings for subscribers.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodsubscribers.get_settings
formatformat of responce: json, jsonp or xml by default
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data.confirmation: 0 - Feature disabled, 1 - user can use this feature or not, 2 - always sends confirmation without user
data.check_email: 0 - Feature disabled, 1 - user can use this feature or not, 2 - always checks email existence
Lists
Create
This method creates a new list. You can't use this method to update an existing list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
Note: Custom fields not available right now via API. Use forms for do it.
usernameaccount's login
passwordaccount's password
methodmailing_lists.add
formatformat of responce: json, jsonp or xml by default
namename is optional
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data.list_id: list's ID
Update
This method updates an existing list. You can't use this method to create a new list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
Note: Custom fields not available right now via API. Use forms for do it.
usernameaccount's login
passwordaccount's password
methodmailing_lists.update
formatformat of responce: json, jsonp or xml by default
idlist's ID
namename is optional
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Delete
This method deletes an existing list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
Note: Custom fields not available right now via API. Use forms for do it.
usernameaccount's login
passwordaccount's password
methodmailing_lists.update
formatformat of responce: json, jsonp or xml by default
namename is optional
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Get by ID
This method receives data for an existing list by ID.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodmailing_lists.get_by_id
formatformat of responce: json, jsonp or xml by default
idlist's ID
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty or array, list's data
Get count
This method receives count of an existing lists.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodmailing_lists.get_count
formatformat of responce: json, jsonp or xml by default
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data.count: count of an existing lists
Get lists list
This method receives array of an existing lists.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodmailing_lists.get_list
formatformat of responce: json, jsonp or xml by default
pagepage's number, uses for pagination
countitems per page, uses for pagination
ordersorting by subscriber's data: name, date_created by default, etc.
order_typesorting direction: asc or desc by default
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: array of an existing lists
Delete subscribers
This method deletes all subscribers in the list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodmailing_lists.delete_subscribers
formatformat of responce: json, jsonp or xml by default
idlist's ID
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Clear subscriptions
This method unsubscribes all from the list.
URL http://your_newsletter_installation/api/
PARAMETERS(GET/POST)
usernameaccount's login
passwordaccount's password
methodmailing_lists.delete_subscriptions
formatformat of responce: json, jsonp or xml by default
idlist's ID
RESPONSE(array)
msg.err_code: Error ID, see below, 0 - success
data: empty, not uses
Error codes
1: Authorization error
2: Error when adding to the database
3: No address database with the specified id
4: No Subscriber with the specified id
5: Subscriber already been removed from the address base
6: Incorrect Email
7: Email not exists
8: Subscriber already exists
9: Reached the maximum number of address bases (go to paid mailing lists for expand)
10: Reached the maximum number of address bases (go to paid packages for expand)
11: Reached the maximum number of subscribers (go to paid subscribers for expand)
12: Reached the maximum number of subscribers (go to paid packages for expand)
13: Subscriber already been added to the address base
14: User already exists
15: Registration is disabled
16: Email already is use
17: Password is incorrect
999: Unknown Error
Newsletter+ API Examples
Below are some example scripts you can download to get an idea about how Newsletter+ API can be used. On another note, Newsletter+ also provides you with a subscribe form HTML code for every list which you can readily use. Just visit 'Forms', create new form, click to 'HTML code' and place this code on your website.
This Wordpress plugin provides an easy, lightweight way to let your users subscribe to a list in Newsletter+. You can use it to sign up users for several different lists by placing the widget in the sidebar. Email will be validated on form submission.