├── docs
├── site
│ ├── .hugo_build.lock
│ ├── content
│ │ └── .gitignore
│ ├── layouts
│ │ ├── shortcodes
│ │ │ ├── section.html
│ │ │ ├── half.html
│ │ │ ├── centered.html
│ │ │ └── github.html
│ │ ├── page
│ │ │ └── single.html
│ │ └── partials
│ │ │ ├── footer.html
│ │ │ └── header.html
│ ├── static
│ │ └── static
│ │ │ ├── images
│ │ │ ├── logo.png
│ │ │ ├── s1.png
│ │ │ ├── s2.png
│ │ │ ├── s3.png
│ │ │ ├── s4.png
│ │ │ ├── smtp.png
│ │ │ ├── tx.png
│ │ │ ├── lists.png
│ │ │ ├── media.png
│ │ │ ├── splash.png
│ │ │ ├── analytics.png
│ │ │ ├── favicon.png
│ │ │ ├── privacy.png
│ │ │ ├── thumbnail.png
│ │ │ ├── messengers.png
│ │ │ ├── performance.png
│ │ │ ├── templating.png
│ │ │ ├── 2022-07-31_19-07.png
│ │ │ ├── 2022-07-31_19-08.png
│ │ │ └── logo.svg
│ │ │ └── base.css
│ ├── config.toml
│ └── data
│ │ └── github.json
├── docs
│ ├── content
│ │ ├── images
│ │ │ ├── favicon.png
│ │ │ ├── splash.png
│ │ │ ├── edit-subscriber.png
│ │ │ ├── 2021-09-28_00-18.png
│ │ │ ├── query-subscribers.png
│ │ │ ├── archived-campaign-metadata.png
│ │ │ └── logo.svg
│ │ ├── index.md
│ │ ├── external-integration.md
│ │ ├── archives.md
│ │ ├── upgrade.md
│ │ ├── developer-setup.md
│ │ ├── messengers.md
│ │ ├── apis
│ │ │ ├── transactional.md
│ │ │ ├── apis.md
│ │ │ └── import.md
│ │ ├── i18n.md
│ │ ├── static
│ │ │ └── style.css
│ │ ├── configuration.md
│ │ └── querying-and-segmentation.md
│ └── mkdocs.yml
├── README.md
└── i18n
│ └── style.css
├── dev
├── .gitignore
├── app.Dockerfile
├── config.toml
├── docker-compose.yml
└── README.md
├── static
├── public
│ ├── static
│ │ ├── script.js
│ │ ├── logo.png
│ │ ├── favicon.png
│ │ ├── rss.svg
│ │ └── logo.svg
│ └── templates
│ │ ├── home.html
│ │ ├── message.html
│ │ ├── optin.html
│ │ ├── archive.html
│ │ ├── index.html
│ │ └── subscription-form.html
└── email-templates
│ ├── smtp-test.html
│ ├── subscriber-data.html
│ ├── subscriber-optin-campaign.html
│ ├── import-status.html
│ ├── subscriber-optin.html
│ ├── campaign-status.html
│ ├── base.html
│ ├── default-archive.tpl
│ └── default.tpl
├── VERSION
├── frontend
├── .browserslistrc
├── .env.sample
├── src
│ ├── assets
│ │ ├── logo.png
│ │ ├── favicon.png
│ │ ├── icons
│ │ │ └── fontello.woff2
│ │ ├── fonts
│ │ │ ├── Inter-Bold.woff2
│ │ │ └── Inter-Regular.woff2
│ │ └── logo.svg
│ ├── views
│ │ ├── About.vue
│ │ ├── 404.vue
│ │ ├── Logs.vue
│ │ ├── settings
│ │ │ ├── security.vue
│ │ │ ├── privacy.vue
│ │ │ ├── appearance.vue
│ │ │ └── performance.vue
│ │ └── SubscriberBulkList.vue
│ ├── components
│ │ ├── EmptyPlaceholder.vue
│ │ ├── LogView.vue
│ │ ├── HTMLEditor.vue
│ │ ├── CampaignPreview.vue
│ │ └── ListSelector.vue
│ ├── constants.js
│ ├── main.js
│ └── store
│ │ └── index.js
├── babel.config.js
├── public
│ ├── static
│ │ └── favicon.png
│ └── index.html
├── cypress
│ ├── support
│ │ ├── reset.sh
│ │ ├── e2e.js
│ │ └── commands.js
│ ├── fixtures
│ │ └── subs-domain-blocklist.csv
│ ├── plugins
│ │ └── index.js
│ └── e2e
│ │ ├── dashboard.cy.js
│ │ ├── settings.cy.js
│ │ ├── archive.cy.js
│ │ ├── bounces.cy.js
│ │ └── import.cy.js
├── .editorconfig
├── .gitignore
├── .eslintrc.js
├── cypress.config.js
├── vue.config.js
├── package.json
└── README.md
├── .gitattributes
├── .gitignore
├── Dockerfile
├── .github
├── ISSUE_TEMPLATE
│ ├── general-question.md
│ ├── confirmed-bug.md
│ ├── feature-or-change-request.md
│ └── possible-bug--needs-investigation-.md
└── workflows
│ ├── release.yml
│ └── github-pages.yml
├── config-demo.toml
├── .dockerignore
├── scripts
└── refresh-i18n.sh
├── inlang.config.js
├── internal
├── migrations
│ ├── v2.4.0.go
│ ├── v1.0.0.go
│ ├── v0.8.0.go
│ ├── v0.4.0.go
│ ├── v0.9.0.go
│ ├── v2.3.0.go
│ ├── v2.2.0.go
│ ├── v2.1.0.go
│ ├── v2.5.0.go
│ └── v2.0.0.go
├── bounce
│ ├── mailbox
│ │ └── opt.go
│ ├── webhooks
│ │ └── sendgrid.go
│ └── bounce.go
├── core
│ ├── dashboard.go
│ ├── settings.go
│ ├── media.go
│ ├── templates.go
│ └── bounces.go
├── media
│ └── media.go
├── buflog
│ └── buflog.go
├── captcha
│ └── captcha.go
└── events
│ └── events.go
├── install-demo.sh
├── config.toml.sample
├── cmd
├── notifications.go
├── events.go
├── updates.go
├── maintenance.go
├── admin.go
├── i18n.go
└── utils.go
├── docker-compose.yml
├── .goreleaser.yml
├── go.mod
├── README.md
└── listmonk@.service
/docs/site/.hugo_build.lock:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dev/.gitignore:
--------------------------------------------------------------------------------
1 | !config.toml
2 |
--------------------------------------------------------------------------------
/docs/site/content/.gitignore:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/static/public/static/script.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/VERSION:
--------------------------------------------------------------------------------
1 | e1c0bf503
2 | HEAD -> master
3 |
--------------------------------------------------------------------------------
/frontend/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/docs/site/layouts/shortcodes/section.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | frontend/* linguist-vendored
2 | VERSION export-subst
3 | * text=auto eol=lf
4 |
--------------------------------------------------------------------------------
/frontend/.env.sample:
--------------------------------------------------------------------------------
1 | LISTMONK_FRONTEND_PORT=8080
2 | LISTMONK_API_URL="http://127.0.0.1:9000"
3 |
--------------------------------------------------------------------------------
/frontend/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/frontend/src/assets/logo.png
--------------------------------------------------------------------------------
/static/public/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/static/public/static/logo.png
--------------------------------------------------------------------------------
/frontend/src/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/frontend/src/assets/favicon.png
--------------------------------------------------------------------------------
/frontend/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset',
4 | ],
5 | };
6 |
--------------------------------------------------------------------------------
/frontend/public/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/frontend/public/static/favicon.png
--------------------------------------------------------------------------------
/static/public/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/static/public/static/favicon.png
--------------------------------------------------------------------------------
/docs/docs/content/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/docs/content/images/favicon.png
--------------------------------------------------------------------------------
/docs/docs/content/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/docs/content/images/splash.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/logo.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/s1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/s1.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/s2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/s2.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/s3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/s3.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/s4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/s4.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/smtp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/smtp.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/tx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/tx.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/lists.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/lists.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/media.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/media.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/splash.png
--------------------------------------------------------------------------------
/frontend/src/assets/icons/fontello.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/frontend/src/assets/icons/fontello.woff2
--------------------------------------------------------------------------------
/frontend/src/views/About.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This is an about page
4 |
5 |
6 |
--------------------------------------------------------------------------------
/docs/docs/content/images/edit-subscriber.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/docs/content/images/edit-subscriber.png
--------------------------------------------------------------------------------
/docs/site/layouts/shortcodes/half.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/site/static/static/images/analytics.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/analytics.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/favicon.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/privacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/privacy.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/thumbnail.png
--------------------------------------------------------------------------------
/frontend/src/assets/fonts/Inter-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/frontend/src/assets/fonts/Inter-Bold.woff2
--------------------------------------------------------------------------------
/docs/docs/content/images/2021-09-28_00-18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/docs/content/images/2021-09-28_00-18.png
--------------------------------------------------------------------------------
/docs/docs/content/images/query-subscribers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/docs/content/images/query-subscribers.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/messengers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/messengers.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/performance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/performance.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/templating.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/templating.png
--------------------------------------------------------------------------------
/frontend/src/assets/fonts/Inter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/frontend/src/assets/fonts/Inter-Regular.woff2
--------------------------------------------------------------------------------
/docs/site/static/static/images/2022-07-31_19-07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/2022-07-31_19-07.png
--------------------------------------------------------------------------------
/docs/site/static/static/images/2022-07-31_19-08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/site/static/static/images/2022-07-31_19-08.png
--------------------------------------------------------------------------------
/frontend/cypress/support/reset.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | pkill -9 listmonk
4 | cd ../
5 | ./listmonk --install --yes
6 | ./listmonk > /dev/null 2>/dev/null &
7 |
--------------------------------------------------------------------------------
/docs/docs/content/images/archived-campaign-metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/polydice/listmonk/master/docs/docs/content/images/archived-campaign-metadata.png
--------------------------------------------------------------------------------
/docs/site/layouts/page/single.html:
--------------------------------------------------------------------------------
1 | {{ partial "header" . }}
2 |
3 | {{ .Title }}
4 | {{ .Content }}
5 |
6 | {{ partial "footer" }}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | frontend/node_modules/
2 | frontend/.cache/
3 | frontend/yarn.lock
4 | frontend/build/
5 | .vscode/
6 |
7 | config.toml
8 | node_modules
9 | listmonk
10 | dist/*
--------------------------------------------------------------------------------
/docs/site/layouts/shortcodes/centered.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ .Inner }}
4 |
5 |
--------------------------------------------------------------------------------
/static/email-templates/smtp-test.html:
--------------------------------------------------------------------------------
1 | {{ define "smtp-test" }}
2 | {{ template "header" . }}
3 | {{ L.Ts "settings.smtp.testConnection" }}
4 | {{ template "footer" }}
5 | {{ end }}
6 |
--------------------------------------------------------------------------------
/frontend/.editorconfig:
--------------------------------------------------------------------------------
1 | [*.{js,jsx,ts,tsx,vue}]
2 | indent_style = space
3 | indent_size = 2
4 | end_of_line = lf
5 | trim_trailing_whitespace = true
6 | insert_final_newline = true
7 | max_line_length = 100
8 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:latest
2 | RUN apk --no-cache add ca-certificates tzdata
3 | WORKDIR /listmonk
4 | COPY listmonk .
5 | COPY config.toml.sample config.toml
6 | COPY config-demo.toml .
7 | CMD ["./listmonk"]
8 | EXPOSE 9000
9 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/general-question.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: General question
3 | about: You have a question about something or want to start a general discussion
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/docs/site/config.toml:
--------------------------------------------------------------------------------
1 | baseurl = "https://listmonk.app/"
2 | languageCode = "en-us"
3 | title = "listmonk - Free and open source self-hosted newsletter, mailing list manager, and transactional mails"
4 |
5 | [taxonomies]
6 | tag = "tags"
7 |
--------------------------------------------------------------------------------
/static/email-templates/subscriber-data.html:
--------------------------------------------------------------------------------
1 | {{ define "subscriber-data" }}
2 | {{ template "header" . }}
3 | {{ L.Ts "email.data.title" }}
4 |
5 | {{ L.Ts "email.data.info" }}
6 |
7 | {{ template "footer" }}
8 | {{ end }}
9 |
--------------------------------------------------------------------------------
/frontend/src/views/404.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
13 |
--------------------------------------------------------------------------------
/dev/app.Dockerfile:
--------------------------------------------------------------------------------
1 | FROM golang:1.17 AS go
2 |
3 | FROM node:16 AS node
4 |
5 | COPY --from=go /usr/local/go /usr/local/go
6 | ENV GOPATH /go
7 | ENV CGO_ENABLED=0
8 | ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
9 |
10 | WORKDIR /app
11 | ENTRYPOINT [ "" ]
12 |
--------------------------------------------------------------------------------
/docs/site/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |