All Projects → ont → slacker

ont / slacker

Licence: MIT license
Simple smtp email server which redirects emails to slack.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to slacker

croner
Trigger functions and/or evaluate cron expressions in JavaScript. No dependencies. Most features. All environments.
Stars: ✭ 169 (+604.17%)
Mutual labels:  cron
Redmine-Periodic-Task
A redmine plugin that lets you schedule an issue to fire every x days/weeks/months
Stars: ✭ 61 (+154.17%)
Mutual labels:  cron
webping
🚦 Python script to monitor web pages.
Stars: ✭ 20 (-16.67%)
Mutual labels:  cron
hubot-schedule
A hubot script to schedule a message in both cron-style and datetime-based format pattern
Stars: ✭ 46 (+91.67%)
Mutual labels:  cron
Mail-Toaster-6
Mail Toaster 6
Stars: ✭ 40 (+66.67%)
Mutual labels:  mta
theweekendest
Real-time New York City subway service map
Stars: ✭ 51 (+112.5%)
Mutual labels:  mta
blackhole
Blackhole is an MTA written on top of asyncio, utilising async and await statements that dumps all mail it receives to /dev/null.
Stars: ✭ 61 (+154.17%)
Mutual labels:  mta
watchman
📆 更夫(watchman)是一款可视化的定时任务配置 Web 工具,麻麻不用担心我漏掉任何更新啦!
Stars: ✭ 40 (+66.67%)
Mutual labels:  cron
time.clj
time util for Clojure(Script)
Stars: ✭ 45 (+87.5%)
Mutual labels:  cron
transferwisely
Batch process using transfer-wise API to automatically track, detect and book transfers for you at better rates.
Stars: ✭ 20 (-16.67%)
Mutual labels:  cron
point-vue-cron
vue component: cron expression generator
Stars: ✭ 21 (-12.5%)
Mutual labels:  cron
aws-tag-sched-ops
Retired, please see https://github.com/sqlxpert/lights-off-aws
Stars: ✭ 24 (+0%)
Mutual labels:  cron
howto
Dumping ground for various HowTo documents that I produce
Stars: ✭ 58 (+141.67%)
Mutual labels:  cron
vue-cron-editor
Vue component for easier editing of cron expressions.
Stars: ✭ 61 (+154.17%)
Mutual labels:  cron
chadburn
Chadburn is a scheduler alternative to cron, built on Go and designed for Docker environments.
Stars: ✭ 54 (+125%)
Mutual labels:  cron
delay-timer
Time-manager of delayed tasks. Like crontab, but synchronous asynchronous tasks are possible scheduling, and dynamic add/cancel/remove is supported.
Stars: ✭ 257 (+970.83%)
Mutual labels:  cron
feed2email
RSS/Atom feed updates in your email
Stars: ✭ 37 (+54.17%)
Mutual labels:  mta
Diglett
Diglett is a cron management system that manage all your cron jobs without modifying crontab. Handles locking, logging, error emails, and more.
Stars: ✭ 13 (-45.83%)
Mutual labels:  cron
goodservice
Website that detects headway discrepancy on New York City Subway system using live countdown clocks
Stars: ✭ 26 (+8.33%)
Mutual labels:  mta
node-cron-expression
Declarative functional cron expression builder
Stars: ✭ 17 (-29.17%)
Mutual labels:  cron

Slacker

Slacker is simple email-to-slack gateway. It support basic rules for routing messages to different slack channels from different bots.

Main purpose of slacker is to redirect messages from old-school systems which doesn't support messaging other than email. For example cron and monit (https://mmonit.com/monit/) support only emails as the only system for notifications.

Installation

Slacker can be easily installed via docker:

docker pull ontrif/slacker

Then run container with custom slacker config.yml:

docker run \
    -d --restart=always \
    --name=slacker \
    -v /path/to/config.yml:/etc/slacker/config.yml \
    -p localhost:8025:8025 \
    ontrif/slacker

Last command will start SMTP server on localhost:8025

Config

Slacker supports simple list of rules for configuring target slack channel, bot name and its avatar depending on email content.

There are two sections:

  • default: this is default options for sending message to slack.
  • rules: list of rules for matching email message against 'from', 'to' and/or 'subject'.

Each rule in list tested in order. First matched rule is used to update options values from 'default' section of config.

Example config.yml for redirecting email to two channels: #monit and #cron:

# default values for channel, bot name, avatar url, slack token and debug mode
default:
    channel: "#general"
    username: "slacker"
    icon_url: ""
    slack_token: "xoxb-00000000000-aaaaaaaaaaaaaaaaaaaaaaaa"
    debug: false


# list of rules
rules:
    - name: "Monit rule"
      from: "monit@.*"     # all emails from monit@localhost will match this rule

      options:
          username: "monit"
          channel: "#monit"
          icon_url: "https://bitbucket.org/tildeslash/monit/avatar/128"
          debug: false


    - name: "Cron rule"
      from: "root@localhost"
      subject: "Cron.*"    # cron email subject starts with "Cron..."

      options:
          username: "cron"
          channel: "#cron"
          icon_url: ""
          debug: true    # will output full email with all X-headers
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].