Provides an "email in" solution for the Nextcloud Deck app
Follow the above steps to add a new card from email.
- Deck Bot is the user who will create the cards and it will be set up by your nextcloud admin.
- In this tutorial email address for Deck Bot will be:
[email protected]
Deck Bot must be assigned and must have edit permission inside the board.
Let's assume you want to add a card with title "Update website logo" on board "Website" and stack "To do". You can do this in two ways.
Here's how the email subject should look like:
Update website logo b-'website' s-'to do'
-
You can use single or double quotes.
-
Case-insensitive for board and stack respectively.
At the end of the email address prefix (before @) add "+website"
Example: [email protected]
- If board has multiple words e.g.
"some project"
, you'll have to send the email to[email protected]
In this case, if you don't specify the stack in the email subject, the card will be added in the first stack (if it exists).
Note:
- Email content will be card description
- You can add attachments in the email and those will be integrated in the created card
This app requires php-curl, php-mbstring ,php-imap and some sort of imap server (e.g. Postfix with Courier).
Create a new user from User Management on your NC server, which will have to function as a bot. We chose to call him deckbot, but you can call it however you want.
Note: that you have to assign deckbot on each board you want to add new cards from email.
You can setup Posfix mail server folowing the instructions on Posfix setup, and after that add "+" delimiter (which separe the user from the board in the email address) using the command:
sudo postconf -e "recipient_delimiter = +"
This could be any hosted email service. The only requirement is that you can connect to it via the IMAP protocol. Please note this option may not be as flexible as a self-hosted server. For example your email service may not support the "+"delimiter for directing messages to a specific board.
If using a self-hosted Postfix server, clone this repository into the home directory of the incoming user. If not self-hosting, you may need to create a new user on your system and adjust the commands in future steps to match that username.
su - incoming
git clone https://github.com/newroco/mail2deck.git mail2deck
Create config.php file and edit it for your needs:
cd /home/incoming/mail2deck
cp config.example.php config.php
sudo vim config.php
You can refer to https://www.php.net/manual/en/function.imap-open.php for setting the value of MAIL_SERVER_FLAGS
sudo crontab -u incoming -e
Add the following line in the opened file:
*/5 * * * * /usr/bin/php /home/incoming/mail2deck/index.php >/dev/null 2>&1
Now mail2deck will add new cards every five minutes if new emails are received.