PHPackages                             barth/slacknewsletter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. barth/slacknewsletter

ActiveProject[Utility &amp; Helpers](/categories/utility)

barth/slacknewsletter
=====================

Self managed newsletter for Slack

v0.2(7y ago)751[1 issues](https://github.com/Jibbarth/slacknewsletter/issues)[3 PRs](https://github.com/Jibbarth/slacknewsletter/pulls)proprietaryPHPPHP ^7.1.3

Since Apr 15Pushed 2y ago2 watchersCompare

[ Source](https://github.com/Jibbarth/slacknewsletter)[ Packagist](https://packagist.org/packages/barth/slacknewsletter)[ RSS](/packages/barth-slacknewsletter/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (18)Versions (7)Used By (0)

 [![Slack Newsletter Preview](https://repository-images.githubusercontent.com/129633240/a2815d80-adbe-11ea-9379-b3b04705d572)](https://repository-images.githubusercontent.com/129633240/a2815d80-adbe-11ea-9379-b3b04705d572)

Slack Newsletter
================

[](#slack-newsletter)

[![CI](https://github.com/Jibbarth/slacknewsletter/workflows/CI/badge.svg?branch=master)](https://github.com/Jibbarth/slacknewsletter/workflows/CI/badge.svg?branch=master)[![Version](https://camo.githubusercontent.com/e5328942625f42241118346bf7630035c7cebf9d310c4e8030f67106afe1a2e7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62617274682f736c61636b6e6577736c6574746572)](https://camo.githubusercontent.com/e5328942625f42241118346bf7630035c7cebf9d310c4e8030f67106afe1a2e7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62617274682f736c61636b6e6577736c6574746572)

This application allows you to generate a newsletter from your [Slack](https://slack.com) 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.

Installation &amp; Configuration
--------------------------------

[](#installation--configuration)

1. Clone the project and launch `composer install` inside.
2. Generate a [Token on your slack workspace](https://github.com/Jibbarth/slacknewsletter/wiki/Generate-an-App-to-get-a-Token)
3. In your `.env.local`, complete your smtp configuration, the receivers, and your Slack token like that :

```
MAILER_DSN=smtp://awesome-smtp:25
RECEIVERS=me@example.net,mailing-list@example.net
SLACK_TOKEN=xoxp-XXXXXXXXX-XXXXXXX-XXXXXXXXX

```

4. Choose your channels to browse and add them in `config/channels.json`. You can check out the `config/channels.json.dist` to see how add a new channels
5. (OPTIONNAL) : Pimp your newsletter by altering parameters in `config/package/parameters.yaml`
6. 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
```

Build With
----------

[](#build-with)

- [Symfony 5.2](http://symfony.com/)
    - symfony/console
    - symfony/mailer
    - symfony/yaml
- [FlySystem from The Php League](http://flysystem.thephpleague.com/)
- [jolicode/slack-php-api](https://github.com/jolicode/slack-php-api)
- [Embed](https://github.com/oscarotero/Embed)
- [Carbon](https://carbon.nesbot.com/)

Thank to theirs awesome work.

Customize the newsletter
------------------------

[](#customize-the-newsletter)

If you want to customize the newsletter, all templates are in `templates` folder.

Before testing rendering, you have to retrieve some messages :

```
php bin/console app:newsletter:browse -d 5
```

> The `-d` or `--days` is to specified how many days to retrieve. You can have lots of data by this way.

To test the view in web-browser, launch a web server :

```
symfony local:server:start -d # With Symfony CLI binary
php -S localhost:8000 -t public # Using php built-in web-server
```

and go to

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
```

Contribute
----------

[](#contribute)

First of all, thank you for contributing ♥

If you find any typo/misconfiguration/... please send 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.

TODOs
-----

[](#todos)

- Make installation as simple as a `composer create-project barth/slacknewsletter`
- Browse private channel
- Make sure it'll work with [Slack App](https://api.slack.com/apps) and provide a configuration guide
- Write Tests Suite
- Add translations
- Easily extend with other Team Collaboration Software (Discord, HipChat...)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~167 days

Total

2

Last Release

2782d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/49ba44a867952c20e680f8494b2b56689cf6994305f4d059d983f9748e8684ae?d=identicon)[Jibbarth](/maintainers/Jibbarth)

---

Top Contributors

[![Jibbarth](https://avatars.githubusercontent.com/u/3168281?v=4)](https://github.com/Jibbarth "Jibbarth (131 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

---

Tags

github-templatenewsletternewsletter-servicephpslackslackbuildssymfonysymfony5

### Embed Badge

![Health badge](/badges/barth-slacknewsletter/health.svg)

```
[![Health](https://phpackages.com/badges/barth-slacknewsletter/health.svg)](https://phpackages.com/packages/barth-slacknewsletter)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
