Skip to content

Virtomize/mail2most

Repository files navigation

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

  • IMAP(S) support
  • StartTLS 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 !

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

  • 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

Version Info

  • run ./mail2most -version to get current version information

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:

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