Add Sendgrid integration (incoming email handling)

This commit is contained in:
Frederic Guillot
2015-04-19 19:23:42 -04:00
parent ac86c3100a
commit f190be9e2d
37 changed files with 380 additions and 89 deletions

View File

@@ -0,0 +1,44 @@
Create tasks by email
=====================
You can create tasks directly by sending an email.
At the moment, Kanboard is integrated with 3 external services:
- [Mailgun](http://kanboard.net/documentation/mailgun)
- [Sendgrid](http://kanboard.net/documentation/sendgrid)
- [Postmark](http://kanboard.net/documentation/postmark)
These services handle incoming emails without having to configure any SMTP server.
When an email is received, Kanboard receive the message on a specific end-point.
All complicated works are already handled by those services.
Incoming emails workflow
------------------------
1. You send an email to a specific address, by example **something+myproject@inbound.mydomain.tld**
2. Your email is forwarded to the third-party SMTP servers
3. The SMTP provider call the Kanboard webhook with the email in JSON or multipart/form-data formats
4. Kanboard parse the received email and create the task to the right project
Note: New tasks are automatically created in the first column.
Email format
------------
- The local part of the email address must use the plus separator, by example **kanboard+project123**
- The string defined after the plus sign must match a project identifier, by example **project123** is the identifier of the project **Project 123**
- The email subject becomes the task title
- The email body becomes the task description (Markdown format)
Incoming emails can be written in text or HTML formats.
**Kanboard is able to convert simple HTML emails to Markdown**.
Security and requirements
-------------------------
- The Kanboard webhook is protected by a random token
- The sender email address must match a Kanboard user
- The Kanboard project must have a unique identifier, by example **MYPROJECT**
- The Kanboard user must be member of the project

View File

@@ -6,34 +6,7 @@ You can use the service [Mailgun](http://www.mailgun.com/) to create tasks direc
This integration works with the inbound email service of Mailgun (routes).
Kanboard use a webhook to handle incoming emails.
Incoming emails workflow
------------------------
1. You send an email to a specific address, by example **something+myproject@inbound.mydomain.tld**
2. Your email is forwarded to Mailgun SMTP servers
3. Mailgun call the Kanboard webhook with the email in JSON format
4. Kanboard parse the received email and create the task to the right project
Note: New tasks are automatically created in the first column.
Email format
------------
- The local part of the email address must use the plus separator, by example **kanboard+project123**
- The string defined after the plus sign must match a project identifier, by example **project123** is the identifier of the project **Project 123**
- The email subject becomes the task title
- The email body becomes the task description (Markdown format)
Incoming emails can be written in text or HTML formats.
**Kanboard is able to convert simple HTML emails to Markdown**.
Security and requirements
-------------------------
- The Kanboard webhook is protected by a random token
- The sender email address must match a Kanboard user
- The Kanboard project must have a unique identifier, by example **MYPROJECT**
- The Kanboard user must be member of the project
The [incoming email workflow is described here](http://kanboard.net/documentation/email-tasks).
Mailgun configuration
---------------------
@@ -53,9 +26,3 @@ Kanboard configuration
1. Be sure that your users have an email address in their profiles
2. Assign a project identifier to the desired projects: **Project settings > Edit**
3. Try to send an email to your project
Troubleshootings
----------------
- Test if your route match in the console
- Double-check requirements mentioned above

View File

@@ -6,40 +6,15 @@ You can use the service [Postmark](https://postmarkapp.com/) to create tasks dir
This integration works with the inbound email service of Postmark.
Kanboard use a webhook to handle incoming emails.
Incoming emails workflow
------------------------
1. You send an email to a specific address, by example **something+myproject@inbound.mydomain.tld**
2. Your email is forwarded to Postmark SMTP servers
3. Postmark call the Kanboard webhook with the email in JSON format
4. Kanboard parse the received email and create the task to the right project
Note: New tasks are automatically created in the first column.
Email format
------------
- The local part of the email address must use the plus separator, by example **kanboard+project123**
- The string defined after the plus sign must match a project identifier, by example **project123** is the identifier of the project **Project 123**
- The email subject becomes the task title
- The email body becomes the task description (Markdown format)
Incoming emails can be written in text or HTML formats.
**Kanboard is able to convert simple HTML emails to Markdown**.
Security and requirements
-------------------------
- The Kanboard webhook is protected by a random token
- The sender email address (From header) must match a Kanboard user
- The Kanboard project must have a unique identifier, by example **MYPROJECT**
- The Kanboard user must be member of the project
The [incoming email workflow is described here](http://kanboard.net/documentation/email-tasks).
Postmark configuration
----------------------
- Follow the [official documentation about inbound email processing](http://developer.postmarkapp.com/developer-process-configure.html)
- The Kanboard webhook url is displayed in **Settings > Integrations > Postmark**
Just follow the [official documentation about inbound email processing](http://developer.postmarkapp.com/developer-process-configure.html).
Basically, you have to forward your own domain or subdomain to a specific Postmark email address.
The Kanboard webhook url is displayed in **Settings > Integrations > Postmark**
Kanboard configuration
----------------------
@@ -52,4 +27,3 @@ Troubleshootings
----------------
- Test the webhook url from the Postmark console, you should have a status code `200 OK`
- Double-check requirements mentioned above

24
docs/sendgrid.markdown Normal file
View File

@@ -0,0 +1,24 @@
Sendgrid
========
You can use the service [Sendgrid](https://sendgrid.com/) to create tasks directly by email.
This integration works with the [Parse API of Sendgrid](https://sendgrid.com/docs/API_Reference/Webhooks/parse.html).
Kanboard use a webhook to handle incoming emails.
The [incoming email workflow is described here](http://kanboard.net/documentation/email-tasks).
Sendgrid configuration
----------------------
1. Create a new domain or subdomain (by example **inbound.mydomain.tld**) with a MX record that point to **mx.sendgrid.net**
2. Add your domain and the Kanboard webhook url to [the configuration page in Sendgrid](https://sendgrid.com/developer/reply)
The Kanboard webhook url is displayed in **Settings > Integrations > Sendgrid**
Kanboard configuration
----------------------
1. Be sure that your users have an email address in their profiles
2. Assign a project identifier to the desired projects: **Project settings > Edit**
3. Try to send an email to your project