v1.0.0 - First Stable Release

Previously Newsletter Pro

Send Email Campaigns From Your Own Machine.

LocaLetter is a free, open-source email campaign manager that runs entirely on localhost via XAMPP. No subscriptions, no cloud, no data leaving your hands.

Open Source MIT Licensed Self-Hosted Free Forever

Why LocaLetter?

No Subscription Fees

Download once, use forever. No plans, no billing, no surprises.

Your Data Stays Local

Everything lives on your own machine. No third-party servers, no data harvesting.

Gmail SMTP Ready

Works out of the box with a Gmail App Password. Free up to 100 emails a day with zero extra setup.

Open Source Forever

MIT licensed. Read the code, modify it, own it completely.

What You Need

No complex setup. Just three things before you begin:

Get Up and Running in Minutes

Follow these steps in order. Each one has details and common pitfalls — click to expand.

App Flow

  1. Open index.html.
  2. Click Let's Go.
  3. Backend/initialize.php creates database and required tables.
  4. Register/Login using credentials.
  5. On auth success, redirect to Frontend/app.html.
  6. Dashboard allows list management and bulk mail sending.
  1. Step 1 — Download LocaLetter

    Head to the LocaLetter GitHub Releases page and download the latest .zip file (v1.0.0). Save it somewhere easy to find.

    • Click the download link above or on GitHub under Assets.
    • Wait for the .zip to finish downloading.
    • Do not extract it yet — that comes later.

    Make sure you download the .zip file listed under Assets, not the "Source code" archive GitHub auto-generates.

  2. Step 2 — Download & Install XAMPP

    XAMPP gives your machine a local Apache web server and MySQL database — the two things LocaLetter needs to run.

    • Download the installer for your operating system.
    • Run the installer. If Windows shows a UAC warning, click Yes.
    • Keep the default installation path (C:\xampp on Windows).
    • Only Apache and MySQL are required.

    Common pitfall: Apache uses port 80. If something else is using it, see the troubleshooting section.

  3. Step 3 — Generate a Gmail App Password

    LocaLetter sends emails through Gmail using SMTP. For this to work securely, Google requires an App Password.

  4. Step 4 — Extract LocaLetter into htdocs

    Now it's time to put LocaLetter where XAMPP can serve it. The folder is called htdocs and it acts as the root of your local web server.

    • Navigate to your XAMPP installation folder — usually C:\xampp\htdocs.
    • Extract the downloaded .zip file.
    • Make sure the extracted folder is named localetter.
    • The final path should look like: C:\xampp\htdocs\localetter.
  5. Step 5 — Start Apache & MySQL from XAMPP

    Open the XAMPP Control Panel and start both services. These need to be running every time you use LocaLetter.

    • Click Start next to Apache.
    • Click Start next to MySQL.
    • Both should turn green with a status of "Running".
  6. Step 6 — Open LocaLetter in Your Browser

    With Apache and MySQL running, LocaLetter is ready. Open your browser and go to:

    localhost/localetter

    On first visit, LocaLetter will automatically create the database and tables it needs.

  7. Step 7 — Set Gmail Credentials

    Login/Register is handled by Localetter flow. You only need to set Gmail mail credentials in secret.php.

    • Create secret.php from secret.example.php in the project root.
    • Keep it at Localetter/secret.php (same level as index.html and .gitignore).
    • Add MAIL_FROM: the email address you want to send mails from.
    • Add MAIL_PASSWORD: your Google App Password for that email account.
    • Add MAIL_NAME: the name you want recipients to see as the sender.
    • These values are used by mail.php for sending mail.

Troubleshooting

Hit a wall? These are the most common issues people run into. If you need official XAMPP help, see the XAMPP Help Docs section below.

Apache won't start — Port 80 is in use

Something else on your machine is already using port 80. Common culprits are Skype, IIS, or another web server.

Fix: stop the conflicting program, or change Apache's port to 8080 and access LocaLetter at localhost:8080/localetter.

MySQL won't start — Port 3306 is in use

Another MySQL instance is likely already running on your machine.

Fix: end the existing mysqld.exe process or stop MySQL from Windows Services, then restart it from XAMPP.

Gmail says authentication failed or connection refused

This usually means the wrong password was entered or SMTP access hasn't been properly set up.

Use an App Password, not your regular Gmail password. Check that the SMTP host is smtp.gmail.com and port is 587.

localhost/localetter shows "Page Not Found"

Apache is running but can't find the LocaLetter files.

Confirm the folder exists at C:\xampp\htdocs\localetter and the name is exactly localetter.

Database error on first load

LocaLetter couldn't connect to or initialize the database.

Make sure MySQL is running in XAMPP, not just Apache.

XAMPP Help Docs

Official Apache Friends documentation and support links:

Your Privacy, Guaranteed

LocaLetter collects absolutely nothing. No analytics, no telemetry, no usage tracking, no phone-home requests. Everything stays on your own machine inside your own MySQL database.

Important Notes

Frequently Asked Questions

How do I download and set up XAMPP?

Go to apachefriends.org, download the installer, keep the default installation directory, then open XAMPP Control Panel and start Apache and MySQL.

How do I set up Gmail SMTP?

Enable 2-Step Verification on your Google account, then create a Google App Password and enter it into LocaLetter along with your Gmail address.

Where exactly do I extract the LocaLetter folder?

Extract the downloaded .zip into XAMPP's htdocs directory, usually C:\xampp\htdocs\. The folder should be named localetter.

Is LocaLetter really free?

Yes, completely. LocaLetter is MIT licensed and free forever. The only external limit is Gmail's free tier of roughly 100 emails per day.

Can I use a different SMTP provider instead of Gmail?

Yes. LocaLetter works with any SMTP provider. Gmail is just the easiest starting point.

Report a Bug · Give Feedback · Suggest an Improvement

Found something broken? Have an idea? Use the form below. You can also create a issue on github open a GitHub issue directly ↗.