Self managed newsletter for Slack
This application allows you to generate a newsletter from your Slack channels. It goes through the channels looking for links, combines them into a html file, and sends it by email. It's ideal for keeping track of your finds when the historical Slack reaches its limit.
Clone the project and launch
Generate a Token on your slack workspace - Currently only tested with legacy token
.env, complete your smtp configuration and add your Slack token like that :
Choose your channels to browse and add them in
config/channels.json. You can check out the
config/channels.json.distto see how add a new channels
Add receivers for your newsletter in
(OPTIONNAL) : Pimp your newsletter by altering parameters in
Configure your cron to execute command to browse, build, and send newsletter.
For example :
## Every day at 8am, browse channels and store them 0 8 * * * php bin/console app:newsletter:browse ## Every monday at 8:05 am, build the newsletter and send it 5 8 * * 1 php bin/console app:newsletter:build && php bin/console app:newsletter:send
- Symfony 4.0
- FlySystem from The Php League
- Frlnc Php Slack
Thank to theirs awesome work.
If you want to customize the newsletter, all templates are in
Before testing rendering, you have to retrieve some messages :
php bin/console app:newsletter:browse -d 5
--daysis to specified how many days to retrieve. You can have lots of data by this way.
To test the view in web-browser, launch the built-in web server :
php bin/console server:run
and go to http://127.0.0.1:8000/test/mail
But you probably have to send emails to test compatibility with emails viewer.
You can launch theses commands to avoid archivation of messages and builded news.
php bin/console app:newsletter:build --no-archive php bin/console app:newsletter:send --no-archive
First of all, thank you for contributing ♥
If you find any typo/misconfiguration/... please send me a PR or open an issue.
Also, while creating your PR, please write a description which gives the context and/or explains why you are creating it.
- Make installation as simple as a
composer create-project barth/slacknewsletter
- Browse private channel
- Write Tests Suite
- Make sure it'll work with Slack App and provide a configuration guide
- Add translations
- Easily extend with other Team Collaboration Software (HipChat...)