Skip to content
watch emails and send them to mattermost
Go Dockerfile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github added architecture to bug report Aug 8, 2019
conf added Mail.Limit option Feb 12, 2020
lib added more debug Feb 12, 2020
.gitignore
.travis.yml updated to latest go Jan 20, 2020
CODE_OF_CONDUCT.md added CoC Jul 2, 2019
CONTRIBUTING.md added docker to CONTRIBUTION Aug 14, 2019
Dockerfile added Docker build Jul 3, 2019
LICENSE Initial commit Jun 27, 2019
README.md added config option + readme Jan 20, 2020
docker-compose.yml added docker-compose Jul 3, 2019
go.mod heavily added debug Feb 12, 2020
go.sum
magefile.go added version tag to docker container Aug 23, 2019
main.go

README.md

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

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

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.

You can’t perform that action at this time.