Virtomize / mail2most

watch emails and send them to mattermost
MIT License
74 stars 19 forks source link
docker docker-compose email email-parsing filtering golang golang-application imap integration mattermost mattermost-bot

Donate GoDoc Go Report Card License Built with Mage

Tests Docker image Trivy Scan

Mail2Most

Filter emails from mail accounts and send them to mattermost.

mail2most-image

Features

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

Donation

If this project helps you, feel free to give us a cup of coffee :).

paypal

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

Version Info

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

[!NOTE] The latest tag image is rebuild on a daily base to get newest OS package updates inside the docker image.

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:

# mail2most
[Unit]
Description=mail2most

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

[Install]
WantedBy=multi-user.target

enable and start using

systemctl enable mail2most
systemctl start mail2most

[!Note] Make sure to use the absolute path to your mail2most configuration file.

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.