Kanboard Plugin - Send emails to Kanboard and convert to tasks or comments
MIT License
โญ If you use it, you should star it on Github! It's the least you can do for all the work put into it!
Have you ever found yourself struggling with the process of creating a task in Kanboard via email? Maybe someone recommended the Mailgun Plugin, but you ended up feeling frustrated and out of pocket when you discovered its cost. Or perhaps someone suggested using Zapier and API, but you were left scratching your head and wondering what on earth they were talking about.
Well, fear not! We have the solution for you. Our plugin is easy to install and allows you to connect to an IMAP server of your choice. With just a few clicks, you'll be creating tasks like a pro in no time.
Say goodbye to confusion and frustration, and say hello to Mailmagik! Join us today and let's make task creation a breeze.
This plugin allows you to connect Kanboard directly to an IMAP server. Once connected, you can:
For #2 & #3
For #2
For #4
./cli mailmagik:fetchmail
0 8 * * * cd /var/www/app && ./cli cronjob >/dev/null 2>&1
* * * * * cd /var/www/app && ./cli mailmagik:fetchmail
Since release 1.4.0, mail fetching can also be triggered by a webcron system. Simply invoke the URL
https://<your_server>/?controller=FetchmailController&plugin=Mailmagik&action=run&token=<your_token>
You'll get
mailmagik:fetchmail executed
as a response.
Once installed, setup in Settings > Email settings
:
The Parse Option allows you to choose how to parse the actions, using the TO:
field or the SUBJECT:
field
When using the TO:
option, see examples below:
Task#1<[email protected]>
Project#1<[email protected]>
CommentOnTask#1<[email protected]>
When using the SUBJECT:
option, see examples below:
[Task#1]
should appear at the start of the Subject[Project#1]
should appear at the start of the Subject[CommentOnTask#1]
should appear at the start of the SubjectEmails sent to a task can be found in the Task uner the "Task Email" icon on the sidebar:
In order to setup automatic conversions of email, you will need to add the Actions to the project.
When sending emails for automatic Task Conversion, MailMagik can parse the subject line to add attributes to the Task:
in Subject | Effect |
---|---|
d:YYYY-MM-DD | Set due date |
s:YYYY-MM-DD | Set start date |
p:n | Set priority n |
c:name | Set category 'name' |
t:name | Add tag 'name', may be repeated. Non-existing tags will be created, beware of typos. |
col:name | Set column 'name' to bypass default column |
A subject line containing
Test c:SQL p:3 d:2023-02-28 s:2023-02-20
will create a priority 3 task named "Test", category "SQL", start on Feb 20 and due on Feb 28.
Attribute values for category, column and tags must be quoted, in case they consist of multiple words. Quoting chars can be any of "", '', โโ, โโ, ยซยป and โโ. Example: col:"Work in progress".
The plugin can also parse the email body for task attributes. Use the following syntax: Enclose the assignment with
Examples:
&@category_id=foo bar@&
&@column_id=Done@&
&@priority=3@&
$@Custom_field="Lorem ipsum"@$
Optionally, this assignments can be removed from email body after processing.
When parsing dates from email body, a textual representation can be user instead of a date. This works for both, standard- and custom date fields. Example:
&@date_due=next Friday@&
These texts must be in English language and cannot be translated.
Plugin Authors:
Collaborators and Contributors:
https://github.com/barbushin/php-imap#requirements
If you are using the docker containter of Kanboard, simply remote into it and:
apk update
apk add php-imap
apk add php81-fileinfo
PHP 7.4 Check:
php -m | grep -i imap
$ sudo apt-get install php-imap
$ sudo apt-get install php7.4-imap
$ sudo apt-get install -y php-fileinfo
Run both commands
Mailmagik-x.xx.x.zip
plugins
โโโ Mailmagik <= Plugin name
โโโ Action
โโโ Assets
โโโ Controller
โโโ Template
โโโ vendor
โโโ LICENSE
โโโ CHANGELOG.MD
โโโ Makefile
โโโ Plugin.php
โโโ README.md
โโโ composer.json
โโโ composer.lock
3.) Restart your server
OP_READONLY
complaints about an undefined variable, then you are missing the php-imap requirement, install req, enable and restart server.