Skip to content

watch emails and send them to mattermost

License

Notifications You must be signed in to change notification settings

WalumNitdoof/mail2most

 
 

Repository files navigation

GoDoc Go Report Card License Built with Mage Build Status

Mail2Most

Filter emails from mail accounts and send them to mattermost.

mail2most-image

Features

  • IMAP(S) support
  • Mattermost v4 API support
  • HTML 2 Markdown support
  • Filter mails by Folder
  • Filter mails by From
  • Filter mails by To
  • Filter mails by Subject
  • Filter mails by TimeRange
  • Mattermost broadcasts
  • Choose to post Subject and Body or Subject only
  • Send to channels and/or users
  • Profile management including default profiles
  • Mail attachment support

Missing feature or found a bug ? Feel free to open an issue and let us know !

Install

download

Download Latest Release Version

build it yourself

You can compile the project yourself using this repo and mage. Just clone the repo and run mage build, you can find the binary under bin/mail2most

Usage

  • create a mattermost user
  • create or use an existsing email user to connect to your mail server via IMAP
  • edit conf/mail2most.conf and configure your mail and mattermost credentials
  • configure your filters
  • run Mail2Most ./mail2most or with config path ./mail2most -c conf/mail2most.conf

example conf - filter descriptions

just configure the filters you need if a filter is not defined it is not used !

see example configuration for more details.

Run Mail2Most as a service

You can run Mail2Most using docker, docker-compose or as a systemd service.

docker

docker-hub link

Using docker you need to change the path to your mail2most.conf

docker run \
  -v /path/to/mail2most.conf:/mail2most/conf/mail2most.conf \
  virtomize/mail2most:latest

e.g. if you are in this repo:

docker run \
  -v $(pwd)/conf/mail2most.conf:/mail2most/conf/mail2most.conf \
  virtomize/mail2most:latest

docker-compose

docker-hub link

Using docker-compose you can just edit the conf/mail2most.conf or change the path inside the docker-compose.yml to your config:

    volumes:
      - ./conf/mail2most.conf:/mail2most/conf/mail2most.conf

needs to be changed to

    volumes:
      - /path/to/my/mail2most.conf:/mail2most/conf/mail2most.conf

then just start a container user

docker-compose up -d

Systemd

Systemd allows you to create a background service to run mail2most managed by your system:

  • create /opt/mail2most and place the mail2most binary into it
    • mkdir -p /opt/mail2most/conf
  • create /opt/mail2most/conf/mail2most.conf
  • place the following file to /etc/systemd/system/mail2most.service
# mail2most
[Unit]
Description=mail2most

[Service]
Type=simple
WorkingDirectory=/opt/mail2most
ExecStart=/opt/mail2most/mail2most -c conf/mail2most.conf
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

enable and start using

systemctl enable mail2most
systemctl start mail2most

Common problems

Problem: mail2most crashes after profile changes

Solution: This happens when the data.json is not consistent to the config changes. Delete data.json to solve this problem.

Problem: Channel contains special characters mattermost can not found the channel

Solution: Mattermost does not support special characters for channel names, only in display names. To find the correct channel name use the last part of the url found under view info

Contribution to Mail2Most

Thank you for participating to this project. Please see our Contribution Guidlines for more information.

About

watch emails and send them to mattermost

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.3%
  • Dockerfile 0.7%