Documentation

Everything you need to get started with LumiNewsletter

Introduction to LumiNewsletter

LumiNewsletter is a powerful, open-source email marketing solution designed to help businesses of all sizes create, manage, and optimize their email campaigns. With a focus on user experience and practical features, LumiNewsletter provides everything you need to grow your audience and drive engagement - all from your own server.

Key Features

  • Newsletter Creation - Design beautiful newsletters with both visual and HTML editors, including customizable themes
  • Subscriber Management - Organize subscribers into groups, handle opt-ins, and manage subscriptions easily
  • Content Personalization - Create dynamic content with personalization tags and reusable content blocks
  • Email Tracking - Monitor opens, clicks, and subscriber engagement with comprehensive reporting
  • A/B Testing - Compare different email subjects and content to optimize performance
  • Social Sharing - Add social sharing buttons to your newsletters to expand reach
  • Embeddable Widgets - Add subscription forms to your website with simple embed codes
  • API Integration - Connect with other applications using secure API access

System Requirements

  • Web server (Apache, Nginx)
  • PHP 7.4 or higher with mysqli, json, mbstring extensions
  • MySQL 5.6+ or MariaDB 10+
  • At least 128MB of PHP memory limit

Installation

Installing LumiNewsletter is straightforward and can be completed in a few minutes. Follow these steps to get your instance up and running.

Download and Extract

First, download the latest version of LumiNewsletter from the official website or GitHub repository.

wget https://lumisolutions.tech/newsletterupdates/luminewsletterlatest.zip
unzip luminewsletterlatest.zip -d luminewsletter
mv luminewsletter /path/to/your/webroot/

Setting Up the Database

Create a new database and user for LumiNewsletter:

mysql -u root -p
CREATE DATABASE luminewsletter;
CREATE USER 'luminewsuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON luminewsletter.* TO 'luminewsuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Web-based Installation

Navigate to your LumiNewsletter installation in your browser (e.g., http://yourdomain.com/luminewsletter/install.php) and follow the setup wizard, which will guide you through:

  1. System requirements verification
  2. Database configuration
  3. Admin account creation
  4. SMTP settings configuration
Important: After installation is complete, delete the install.php file for security.

Configuration

After installation, you'll need to configure some settings to get the most out of LumiNewsletter.

General Settings

Navigate to Admin > Settings in your admin panel to configure:

  • Newsletter title and branding
  • Site URL for tracking links
  • Background image for admin area
  • Social sharing options

SMTP Configuration

Configure your SMTP settings to send emails effectively:

// Admin > SMTP Settings
SMTP Host: smtp.yourprovider.com
SMTP Username: your_email@domain.com
SMTP Password: your_password
SMTP Security: tls (or ssl)
SMTP Port: 587 (or 465 for SSL)
Recommendation: Use a dedicated email service provider like SendGrid, Mailgun, or Amazon SES for better deliverability rates.

User Management

LumiNewsletter supports different user roles:

  • Admin - Full access to all features and settings
  • Editor - Can create and send newsletters but cannot access system settings
  • User - Limited access based on permissions

Quick Start Guide

Follow these quick steps to create and send your first newsletter.

Step 1: Create a Subscriber Group

  1. Go to Manage Groups and click "Create New Group"
  2. Give your group a name (e.g., "Newsletter Subscribers")
  3. Add an optional description
  4. Save your group

Step 2: Add Subscribers

You can add subscribers in several ways:

  • Import subscribers from the Manage Subscriptions page
  • Add subscribers manually through the admin interface
  • Set up a subscription form on your website using the embedding options

Step 3: Create a Newsletter

  1. Go to Send Newsletter
  2. Enter a subject line
  3. Select a theme (optional) or start from scratch
  4. Use the TinyMCE editor to design your newsletter content
  5. Add personalization tags like {{first_name}} or {{email}} for dynamic content
  6. Insert content blocks for reusable elements

Step 4: Test and Send

  1. Select your recipient group
  2. Review your newsletter content
  3. Click "Send Newsletter" to deliver to all subscribers in the group

Step 5: Track Results

After sending, check your analytics to monitor:

  • Open rates and timestamps
  • Link click tracking
  • Social sharing engagement
  • Geographic data of your subscribers

API Reference

LumiNewsletter includes an API that allows you to integrate its functionality with your other applications and systems. This section provides information about available endpoints.

Authentication

All API requests require authentication using an API key. You can generate an API key in the admin panel under API Keys.

curl -X GET "https://your-domain.com/api/subscribers" \
     -H "X-API-Key: YOUR_API_KEY" \
     -H "Content-Type: application/json"

Subscribers API

List Subscribers

GET /api/subscribers

Retrieves a list of subscribers with optional filtering.

Query Parameters:
Parameter Type Description
group_id integer Filter by group ID
email string Filter by email (partial match)
limit integer Number of results to return (default: 50)
offset integer Number of results to skip

Add Subscriber

POST /api/subscribers

Adds a new subscriber to a group.

Request Body:
{
  "email": "subscriber@example.com",
  "name": "John Doe",
  "group_id": 1
}

Newsletters API

List Newsletters

GET /api/newsletters

Send Newsletter

POST /api/newsletters
Request Body:
{
  "subject": "May Newsletter",
  "content": "

Your HTML newsletter content here

", "group_id": 1, "theme_id": 2 }

Analytics API

Newsletter Statistics

GET /api/newsletters/{id}/stats
Response Example:
{
  "newsletter_id": 123,
  "subject": "May Newsletter",
  "sent_at": "2025-04-15T10:30:00Z",
  "stats": {
    "recipients": 500,
    "opens": 215,
    "open_rate": 43.0,
    "clicks": 82,
    "click_rate": 16.4,
    "social_shares": 12
  },
  "click_data": [
    {
      "url": "https://example.com/product",
      "clicks": 35
    }
  ]
}
Need More API Documentation? Visit the complete API reference for detailed information on all available endpoints.