Go to file
Kailash Nadh 68afd61024 Add support for alternate plaintext body for e-mails.
This commit removes the Go html2text lib that would automatically
convert all HTML messages to plaintext and add them as the alt
text body to outgoing e-mails. This lib also had memory leak
issues with certain kinds of HTML templates.

A new UI field for optionally adding an alt plaintext body to
a campaign is added. On enabling, it converts the HTML message in
the campaign editor into plaintext (using the textversionjs lib).

This introduces breaking changes in the campaigns table schema,
model, and template compilation.
2021-01-30 18:49:47 +05:30
cmd Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
frontend Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
i18n Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
internal Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
models Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
static Refactor i18n name and fix the L() function in public HTML templates 2021-01-23 19:34:30 +05:30
.dockerignore feat: Add blobstore package 2019-10-31 11:25:31 +05:30
.gitattributes Add .gitattributes for github-linguist 2019-07-15 09:34:56 +05:30
.gitignore feat: Add separate config for demo setup, tweak docs 2020-07-08 22:38:31 +05:30
.goreleaser.yml Add (Open/Net/Free)BSD to cross-platform release builds. 2020-10-18 22:48:00 +05:30
Dockerfile feat: Add separate config for demo setup, tweak docs 2020-07-08 22:38:31 +05:30
LICENSE Refactor and add new build routines 2019-07-09 15:57:04 +05:30
Makefile Fix incorrect make command 2021-01-24 13:07:42 +05:30
README.md Remove alpha warning 2020-11-11 18:45:41 +05:30
TODO.md Remove completed items 2020-05-25 11:55:02 +05:30
config-demo.toml feat: Set default values for DB connection parameters 2020-11-17 14:34:35 +05:30
config.toml.sample feat: Set default values for DB connection parameters 2020-11-17 14:34:35 +05:30
docker-compose.yml feat: Add separate config for demo setup, tweak docs 2020-07-08 22:38:31 +05:30
go.mod WIP: Add i18n support 2021-01-17 20:59:01 +05:30
go.sum Update smtppool lib adding support for Unicode in e-mail IDs 2020-10-17 23:35:03 +05:30
queries.sql Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
schema.sql Add support for alternate plaintext body for e-mails. 2021-01-30 18:49:47 +05:30
stats.sql Add support for campaign view tracking with {{ TrackView }} pixel tag 2018-11-02 13:20:32 +05:30

README.md

listmonk

listmonk is a standalone, self-hosted, newsletter and mailing list manager. It is fast, feature-rich, and packed into a single binary. It uses a PostgreSQL database as its data store.

listmonk-dashboard Visit listmonk.app

Installation

Docker

The latest image is available on DockerHub at listmonk/listmonk:latest. Use the sample docker-compose.yml to run listmonk and Postgres DB with docker-compose as follows:

Demo

docker-compose up -d demo-db demo-app

The demo does not persist Postgres after the containers are removed. DO NOT use this demo setup in production.

Production

  • docker-compose up db to run the Postgres DB.
  • docker-compose run --rm app ./listmonk --install to setup the DB (or --upgrade to upgrade an existing DB)
  • Run docker-compose up app and visit http://localhost:9000.

More information on docs.


Binary

  • Download the latest release and extract the listmonk binary.
  • ./listmonk --new-config to generate config.toml. Then, edit the file.
  • ./listmonk --install to setup the Postgres DB (or --upgrade to upgrade an existing DB. Upgrades are idempotent and running them multiple times have no side effects).
  • Run ./listmonk and visit http://localhost:9000.

Heroku

Using the Nginx buildpack can be used to deploy listmonk on Heroku and use Nginx as a proxy to setup basicauth. This one-click Heroku deploy button provides an automated default deployment.

Deploy

Please note that configuration options must be set using environment configuration variables.

Developers

listmonk is a free and open source software licensed under AGPLv3. If you are interested in contributing, refer to the developer setup. The backend is written in Go and the frontend is Vue with Buefy for UI.

License

listmonk is licensed under the AGPL v3 license.