Send Email to KanBo – Installation (On-Premise)

Table of Contents

The Send Emails to KanBo feature will allow you to send emails directly to a KanBo Board and create a new Card out of the email. It will also allow you to add email and its attachments to an existing KanBo Card.

Prerequisites

  • Functionality requires having a service account on your Exchange to serve as a Catch-All account. This user
    needs to have an Exchange license.
  • You need to set up an email account for Incoming Email with a custom domain. Create an account with this domain
    in his email address (example: mails@yourdomain.com). You can use a subdomain or fully qualified domain.


1. Creating a Catch-All email address.

You will need to create a Catch-All email account on Exchange server.

  • Read how create a Catch-All email address here.
  • Read more about Catch-All address and how to create it on Exchange here.
  • Create a new account for the Catch-All purpose. Make sure this account has the Exchange license and mailbox.
  • Add the custom domain to accepted domains.

2. Creating a SSL certificate.

This is a recommended method for the IIS scenario. Please perform these steps on your Virtual Machine.

  1. Go to the IIS and double click on Server Certificates.

  1. Now click on Create Self-Signed Certificate.

  1. Specify a friendly name for a certificate and select Personal. Click on OK.

  1. Select the certificate and select Export.

  1. Select the path and name for the certificate and add new password to it.


3. Changing KanBo appsettings.json

  1. Move to the location where your KanBo backend is hosted (the KanBo package). Open the appsettings.json in any text editor.

  1. Add the following code to the "plugins" section and change the path to the certificate.
{
    "type": "auth.app",
    "issuer": "incoming-mails",
    "children": [
     {
      "type": "signature",
      "algo": "rs256",
      "children": [
       [
        "cert",
        {
         "type": "x509-file",
         "file": "C:\\Certs\\mails\\somecert.cer"
        }
       ]
      ]
     },
     [
      "mapper",
      {
       "type": "service",
       "name": "incoming emails",
       "roles": "service"
      }
     ],
     [
      "mapper",
      {
       "type": "user"
      }
     ],
     [
      "mapper",
      {
       "type": "email",
       "roles": "service"
      }
     ],
     [
      "mapper",
      {
       "type": "login"
      }
     ]
    ]
   },
  1. Set KanBoIncomingMail value to true.
  2. "IncomingMail": true,
    

  3. Set KanBoIncomingMailDomain to your sending domain name - the one on which you have the Catch-All mailbox.
  4. "IncomingMailDomain": "YourDomain",
    

  5. Save the appsettings.json

If you intend to send emails to your catch-all address and some other email addresses (multiple at once), add this entry and adjust the number inside it to match the maximum number of receivers.

<add key="kanbo.max-receivers" value="1" />


4. Configure the Email Tool

  1. Contact us at support@kanboapp.com to receive a KanBo.JobHost.zip package if you do not have it.
  2. Once you download the package, unzip it and move it a chosen location. In our case it would be: C:\Email Tool\EmailToKanBo\EmailToKanBo.
  3. Open your directory and start editing appsettings.json

  1. In the following section please change the following values:
    • YourCatchAllEmail@domain.com - add here your Catch All email
    • Password - add here the Catch-All account's email
    • mail.url - server address of your Exchange instance
<add key="mail.type" value="ews-unread" />
<add key="mail.receiver-email" value="YourCatchAllEmail@domain.com"/>
<add key="mail.receiver-password" value="Password"/>
<!-- will autodiscover if empty -->
<add key="mail.url" value="https://some-host-address"/>


  1. In the next section, adjust the following values:
    • CertPath - local path to your certificate,
    • Password - your certificate password,
    • https://YourKanboAddress - add here your KanBo address
    • YourDomain - add here your email domain to which Catch-All address is connected to

<add key="kanbo.api.cert.file" value="CerthPath\CertName.pfx"/>
<add key="kanbo.api.cert.pass" value="Password"/>
<add key="kanbo.api.url" value="https://YourKanBoAddress"/>
<add key="kanbo.incoming-mail-domain" value="YourDomain"/>
  1. Save the changes.



5. Add a task to the Task Scheduler.

Here is the simple example how to add Email to KanBo Task to the Windows Task Scheduler. 

Full manual for Windows Scheduled Tasks you can find in the Microsoft web site: link

  1. Execute Task Scheduler.  Insert data in the following values:
    • Name
    • Select user with proper privileges to execute task.
    • Select Run whether user is logged on or not
    • We also recommend to select Run with highest priviledges.

  1. Select Triggers tab and create a new trigger. Complete the steps as it follows:
    • Begin the task - On a Schedule
    • Settings: Daily
    • Advanced settings: Repeat task every 5 minutes for a duration of Indefinitely (you can of course chose another period of time to suit your needs)
    • Select Enabled

  1. Select Actions tab and add new action pointing to the EmailToKanBo.Webjob.exe file within the folder where you unpacked the Email To KanBo tool.
    • Action: Start a program,
    • Program/script - local path to EmailToKanBo.Webjob.exe file (example: C:\Email Tool\EmailToKanBo\EmailToKanBo\EmailToKanBo.Webjob.exe)
    • Start in (optional) - add a local path to the folder where  EmailToKanBo.Webjob.exe is located (example: C:\Email Tool\EmailToKanBo\EmailToKanBo\)

  2. After this action is completed, select OK and confirm your administrator credentials.



6. Use it

You finished the configuration and installation of the Incoming Mails feature. Now read how to use this feature by reading an article here: Incoming Emails.

Recommendation: Set an Outlook retention policy to remove old messages.

Was this article helpful?

Please, contact us if you have any additional questions.