MatterMail is an integration service for Mattermost, MatterMail listen an email box and publish all received emails in a channel or private group in Mattermost.
Mattermail post the email using this rules (if "NoRedirectChannel:false
"):
1 - If the email subject contains "[#anychannelname] blablabla
" or "[@usertosend] xxxxxx
", Mattermail will try to post to the channel or to the username
2 - If the email subject doesn't contain channel or username, Mattermail will try to post the channel defined in config.json
3 - If Mattermail can not post the email will try to post in "Town Square"
-
For Mattermost 3.0 or later: Latest Version
-
For Mattermost 2.2: Version 2.2
-
You need to create a user in Mattermost server, you can use MatterMail icon as profile picture.
-
Get the Channel Handle of the channel and check if the user has permission to post in this channel
-
Edit the file config.json, e.g.:
[
{
"Name": "Orders",
"Server": "https://mattermost.example.com",
"Team": "team1",
"Channel": "#orders",
"MattermostUser":"mattermail@example.com",
"MattermostPass":"password",
"ImapServer": "imap.example.com:143",
"Email": "orders@example.com",
"EmailPass": "password",
"MailTemplate": ":incoming_envelope: _From: **%v**_\n>_%v_\n\n%v"
},
{
"Name": "Bugs",
"Server": "https://mattermost.example.com",
"Team": "team1",
"Channel": "@user123",
"MattermostUser": "mattermail@example.com",
"MattermostPass": "password",
"ImapServer": "imap.gmail.com:993",
"Email": "bugs@gmail.com",
"EmailPass": "password",
"MailTemplate": ":incoming_envelope: _From: **%v**_\n>_%v_\n\n%v",
"StartTLS": false, /*Optional default false*/
"TLSAcceptAllCerts": false, /*Optional default false*/
"Disabled": false, /*Optional default false*/
"Debug": true /*Optional default false*/
"LinesToPreview": 20, /*Optional default 10*/
"NoRedirectChannel": true, /*Optional default false*/
"NoAttachment": true, /*Optional leave out attachments*/
/*Filter works only (Version 3.0 or later)*/
"Filter": [
/* if subject contains 'Feature' redirect to #feature */
{"Subject":"Feature", "Channel":"#feature"},
/* if from contains 'test@gmail.com' and subject contains 'to me' redirect to @test2*/
{"From":"test@gmail.com", "Subject":"To Me", "Channel":"@test2"},
/* if from contains '@companyb.com' redirect to #companyb */
{"From":"@companyb.com", "Channel":"#companyb"} /**/
]
},
{
/*.... other if you want ....*/
}
]
- Execute the command to put in background
$ ./mattermail > /var/log/mattermail.log 2>&1 &
$ ./mattermail --help
Options:
-c, --config Sets the file location for config.json
Default: ./config.json
-h, --help Show this help
-v, --version Print current version
You need Go to build this project
$ go get github.com/rodcorsi/mattermail