EN
Log in Create an account

How to set up Listmonk on Saplo (a newsletter alternative to Mailchimp)

Listmonk is an open-source newsletter engine with no subscriber limits and no sending fees. We show you how to set it up on Saplo, connect SMTP, and ensure deliverability.

Grzegorz Kalmus ·

Mailchimp charges monthly based on list size once you exceed the free subscriber limit. With a few thousand contacts, the bill can quickly become substantial, even if you only send a newsletter once a week. Listmonk is an open-source newsletter engine that does the same thing (lists, campaigns, templates, open and click statistics, public signup pages), but it's hosted on your own Box, with no subscriber limit and no sending fees. Below, you'll find a step-by-step guide on how to set up Listmonk on Saplo, how to configure SMTP for the first time, where to find good deliverability, and what to keep in mind if you're migrating from Mailchimp.

Why Listmonk instead of a paid Mailchimp

Mailchimp and similar platforms (Mailerlite, GetResponse) charge based on the number of contacts on your list, so every new subscriber increases your monthly bill, regardless of how often you actually send campaigns. Listmonk reverses this model:

  • unlimited subscribers - your list grows for free; you only pay for the Box it's hosted on, not for every additional thousand contacts.
  • no sending fees - Listmonk sends through its own SMTP server or an external one you provide; there are no email "credits" or rigid daily sending limits imposed by the provider.
  • subscriber data on your Box - your contact list, campaign history, and statistics are not stored on someone else's infrastructure, which is important for GDPR compliance and working with customer data.
  • open source code - it's an open-source project developed publicly on GitHub, so if needed, you can check exactly how sending and bounce processing works instead of blindly trusting a closed SaaS.

Requirements

To set up Listmonk on Saplo, you need:

  • A Box with Docker running (the engine automatically enables it when installing from the catalog, container nesting is required, which Saplo has by default),
  • A minimum of 1 GB of free RAM on the Box,
  • An SMTP server for actual email sending (Listmonk itself is not a mail server, it only manages it); this can be a Saplo Mailcow mailbox from your plan or an external SMTP provider specialized in bulk sending,
  • A Domain or subdomain *.saploapp.pl included with every plan, where the panel and public signup pages will be hosted.

Just like Cal.com, Listmonk does not use the Box's shared MySQL database. It requires its own Postgres (there is no SQLite option), so the recipe sets up a separate Postgres container dedicated exclusively to this installation along with Listmonk. This consumes a bit more RAM than with the lightest tools in the catalog, but in return, subscriber data does not mix with any other installation on the Box.

Step-by-step installation

  1. In your Saplo panel, go to App catalog and select Listmonk ("Business Tools" category).
  2. Choose the Box where it will be installed, and the domain or subdomain under which the panel will be accessible.
  3. Confirm the installation. The engine sets up a Docker container with the official listmonk/listmonk image, alongside its own Postgres container for data, and exposes the panel under the specified domain via nginx with free SSL. Database schema Migration starts automatically on the first container launch, so you don't need to click anything manually.
  4. After a few tens of seconds, your domain will display the Listmonk login screen. You create the administrator Account during the initial setup wizard, just like with Ghost or Cal.com.
  5. The application's status in the Saplo panel changes to "running" a few tens of seconds after confirming the installation, counting from the moment the Postgres container finishes database initialization.

Connect SMTP and create your first list

  1. In Settings -> SMTP, add the server address, port, username, and password of the mailbox from which newsletters will be sent (e.g., a Mailcow mailbox from your Saplo plan), and set an hourly sending limit to avoid exceeding the threshold imposed by your SMTP provider.
  2. Go to Lists and create your first subscriber list (e.g., "Newsletter"), choosing the subscription type: single opt-in or double opt-in with email confirmation, which improves sender reputation.
  3. Add contacts manually, import via CSV, or embed a Listmonk signup form on your website using the built-in embed code.
  4. In Campaigns, create a new campaign, select the recipient list, write the content in the editor (or paste your own HTML template), and send or schedule the dispatch for a chosen time.

Deliverability: SPF, DKIM, and Sender Reputation

Installing Listmonk alone doesn't guarantee your emails will land in inboxes instead of spam folders. This depends on your sender domain's configuration, not the application itself. Before sending your first major campaign:

  • Set up an SPF record for your sending domain, authorizing your SMTP server to send on your behalf.
  • Enable DKIM with your SMTP provider (Mailcow automatically generates a key when you set up a mailbox) so recipients can verify that the email actually comes from your domain.
  • Consider a DMARC record, which tells recipient servers what to do with an email that fails SPF or DKIM checks.
  • Use double opt-in for larger lists. A one-time import of a contact database without confirmation of subscription increases spam complaints and damages your domain's reputation from day one.
  • Warm up a new domain gradually (a small send on the first day, progressively larger ones on subsequent days) instead of immediately launching a campaign to several thousand addresses.

Listmonk itself displays bounce statistics in the panel and automatically removes addresses that hard-bounce messages, so your list cleans itself with regular sending.

Automations and Integrations

Listmonk exposes a REST API and webhooks for campaign events (sent, opened, clicked, unsubscribed). So, if you need your own automation, for example, to automatically add a new customer to your newsletter list after a purchase in your store, or to send a Slack notification after a campaign ends, you can connect the Listmonk webhook to an n8n workflow set up on the same or another Box from Saplo's App catalog, without leaving your own infrastructure. Listmonk's transactional API (/api/tx) also allows you to send individual transactional emails directly from your own application, using the same SMTP engine as for campaigns, so you don't need a separate service for emails like "order confirmation."

Backup and security

Backups depend on your chosen plan: Box L and higher plans include backup in the price (7 days back for L, 14 days for XL, 30 days plus offsite copy for XXL). For Box S and M, you can purchase daily backup as an add-on. With Listmonk, backup covers both application files and a separate Postgres container, where all lists, campaigns, and sending history are stored. So, it's worth enabling it before your subscriber database grows large enough that its loss would be a real pain. The Saplo panel shows the SSL certificate status and renews it automatically, and it's a good idea to further secure access to the Listmonk administration panel with a strong password, as it contains your subscribers' full email address database.

Migrating from Mailchimp to Listmonk

Mailchimp allows you to export your contact list to a CSV file from Audience -> All contacts -> Export Audience, which creates a ready-to-import file for Listmonk (Subscribers -> Import). The history of old campaigns and their statistics remain in Mailchimp (Listmonk will not import them), but this usually doesn't matter, as what counts is the current list and campaigns from the day of the switch. When importing, it's a good idea to mark contacts as double opt-in only if they actually confirmed their subscription in Mailchimp. Otherwise, it's better to send a single welcome campaign with a confirmation link to the imported list to avoid damaging the reputation of your new sending domain from day one. Campaign templates need to be moved manually (Listmonk does not read Mailchimp's template format), but Listmonk's HTML editor accepts ready-made code, so you just need to copy the markup of an existing template into a new campaign.

Mailchimp Listmonk on Saplo
Cost increases with the number of subscribers included in your Saplo plan, regardless of the number of contacts
Subscriber limit depends on the plan none, limited by your Box's disk space and RAM
Sending fee included in the plan limit none, sending via your SMTP
Where is the data Mailchimp's servers Your Box
Campaign statistics built-in built-in, in Listmonk
Transactional API separate product (Mandrill) with additional cost built-in in Listmonk (/api/tx)
Who administers Mailchimp You, but without manual server setup

Frequently Asked Questions

Can Listmonk do the same things as Mailchimp? Yes, for basic features (lists, segmentation, templates, campaigns, open and click statistics, signup forms, transactional API). Advanced marketing features such as multi-step automations or A/B tests are more limited in Listmonk compared to the paid Mailchimp, but they are perfectly sufficient for sending a regular newsletter.

Do I need my own mail server? No, any SMTP mailbox that can handle your sending volume will suffice, for example, a mailbox from your Saplo plan or an external transactional provider. Listmonk doesn't generate emails itself, it only connects to the provided SMTP.

Can I import a contact list from Mailchimp? Yes, Listmonk accepts imports from CSV files, so you just need to export your subscriber list from Mailchimp and upload it in the Listmonk panel.

How many subscribers can a Box with 1 GB RAM handle? This is the minimum starting requirement, sufficient for a list of several thousand contacts with typical sending frequency. For larger lists or more frequent campaigns, you can add RAM to your Box on the fly, without moving data.

Why are my emails going to spam despite a correct installation? Most often, there's a missing or incorrect SPF or DKIM record for the sender domain, or the list contains many inactive addresses imported without confirmed opt-in. Check your domain's DNS configuration and consider switching to double opt-in for your next import.

Can I send transactional emails, not just newsletters? Yes, /api/tx in Listmonk is specifically for this purpose, i.e., individual emails triggered from your application (confirmations, notifications), independently of newsletter campaigns.

If you have questions while setting up Listmonk on your own Box, please contact us. We'll help you configure SMTP, deliverability, and your first campaign step-by-step.

  • #Email marketing
  • #Listmonk
  • #Mailchimp
  • #Newsletter
  • #Guide