forked from knadh/listmonk
-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6 from pankajsoni19/develop
Weighted sender for smtp+messenger
- Loading branch information
Showing
63 changed files
with
249 additions
and
855 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,49 +9,56 @@ Visit [listmonk.app](https://listmonk.app) for more info. | |
I tagged it to db schema version, and will follow that as semver. | ||
|
||
##### Long running campaigns | ||
* When creating campaign choose run type as `Event Subscription` | ||
* Supported via | ||
* Modify subscriber list memberships -> `/api/subscribers/lists` | ||
* Create a new subscriber -> `/api/subscribers` | ||
* If no new message, worker will sleep for 1 minute before querying | ||
|
||
- When creating campaign choose run type as `Event Subscription` | ||
- Supported via | ||
- Modify subscriber list memberships -> `/api/subscribers/lists` | ||
- Create a new subscriber -> `/api/subscribers` | ||
- If no new message, worker will sleep for 1 minute before querying | ||
|
||
##### Weighted From | ||
|
||
- From is moved into smtp, messenger config. | ||
- Sample -> `One <[email protected]>,10,Two <[email protected]>,5`. This will send based on weights assigned. Can be phone number for messenger. | ||
|
||
##### Per Campaign smtp/messenger | ||
|
||
* In `Settings`>`SMTP` config specify a name. | ||
* In create/update campaign specify same name. | ||
* It will use that messenger to send outbound event. | ||
* Specify a `default`, if none specified picks first. It is used to send system alert emails. | ||
- In `Settings`>`SMTP` config specify a name. | ||
- In create/update campaign specify same name. | ||
- It will use that messenger to send outbound event. | ||
- Specify a `default`, if none specified picks first. It is used to send system alert emails. | ||
|
||
##### Query list by exact name | ||
|
||
* `/api/lists` specify `?name=` for exact lookup. Specify multiple times to search multiple | ||
- `/api/lists` specify `?name=` for exact lookup. Specify multiple times to search multiple | ||
|
||
##### Per Campaign `Sliding window limit` | ||
|
||
* Config added to create/update campaign UI | ||
* Config is removed from `Settings`>`Performance`. On upgrade this is copied to all campaigns. | ||
* Allows setting limit per campaign per endpoint. | ||
- Config added to create/update campaign UI | ||
- Config is removed from `Settings`>`Performance`. On upgrade this is copied to all campaigns. | ||
- Allows setting limit per campaign per endpoint. | ||
|
||
##### Cloning of lists | ||
|
||
* Cloning action button on lists page. It copies all config, subscribers to the new list. | ||
- Cloning action button on lists page. It copies all config, subscribers to the new list. | ||
|
||
##### Bug fixes | ||
|
||
* Campaign pause/stop. | ||
* Though stopped on UI, it used to run in bg over the last fetched subscriber list and loop stops quite late. | ||
* Server config change forces a restart so the delta of unprocessed subscribers get lost. | ||
- Campaign pause/stop. | ||
- Though stopped on UI, it used to run in bg over the last fetched subscriber list and loop stops quite late. | ||
- Server config change forces a restart so the delta of unprocessed subscribers get lost. | ||
|
||
##### Default data | ||
|
||
* Skips default data creation for list, template, campaigns on install. | ||
* check_updates is false | ||
- Skips default data creation for list, template, campaigns on install. | ||
- check_updates is false | ||
|
||
## Installation | ||
|
||
Assumes we are on debian | ||
|
||
### Via docker | ||
|
||
```bash | ||
docker pull pankaj19soni/listmonk:latest | ||
|
||
|
@@ -67,10 +74,10 @@ docker compose up -d | |
|
||
### Requirements | ||
|
||
* yarn 2 | ||
* nodejs 20 | ||
* golang latest | ||
* postgres >= 12 | ||
- yarn 2 | ||
- nodejs 20 | ||
- golang latest | ||
- postgres >= 12 | ||
|
||
### Build container | ||
|
||
|
@@ -104,28 +111,30 @@ make dist | |
docker build -t YOUR-TAG . | ||
``` | ||
|
||
## Upgrade | ||
## Upgrade | ||
|
||
* Take db backup | ||
* Stop previous container/binary. | ||
* Update compose file to point to new image or point to new binary and start | ||
- Take db backup | ||
- Stop previous container/binary. | ||
- Update compose file to point to new image or point to new binary and start | ||
|
||
Visit `http://localhost:9000` | ||
|
||
__________________ | ||
--- | ||
|
||
### Binary | ||
|
||
- `./listmonk --new-config` to generate config.toml. Edit it. | ||
- `./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` | ||
|
||
See [installation docs](https://listmonk.app/docs/installation) | ||
__________________ | ||
|
||
--- | ||
|
||
## Developers | ||
listmonk is free and open source software licensed under AGPLv3. If you are interested in contributing, refer to the [developer setup](https://listmonk.app/docs/developer-setup). The backend is written in Go and the frontend is Vue with Buefy for UI. | ||
|
||
listmonk is free and open source software licensed under AGPLv3. If you are interested in contributing, refer to the [developer setup](https://listmonk.app/docs/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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -101,7 +101,6 @@ func handlePreviewTemplate(c echo.Context) error { | |
UUID: dummyUUID, | ||
Name: app.i18n.T("templates.dummyName"), | ||
Subject: app.i18n.T("templates.dummySubject"), | ||
FromEmail: "[email protected]", | ||
TemplateBody: tpl.Body, | ||
Body: dummyTpl, | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.