Skip to content
/ slacker Public
forked from ont/slacker

Simple smtp email server which redirects emails to slack.

License

Notifications You must be signed in to change notification settings

edhull/slacker

This branch is 30 commits ahead of, 28 commits behind ont/slacker:master.

Folders and files

NameName
Last commit message
Last commit date
Jan 10, 2023
Sep 16, 2016
Sep 16, 2016
Jan 10, 2023
Jan 10, 2023
Sep 14, 2016
May 30, 2019
Jan 10, 2023
Jan 10, 2023
May 4, 2019

Repository files navigation

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 built and run via docker:

docker build .

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

About

Simple smtp email server which redirects emails to slack.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.3%
  • Dockerfile 4.7%