Changes

m
Line 58: Line 58:     
Choose the action to do on collected emails.
 
Choose the action to do on collected emails.
 +
    
=Usage=
 
=Usage=
Line 65: Line 66:     
A test mode is available (button '''Test'''). This mode does not cause any modification of your mailbox (just reading) nor modification in Dolibarr. On the other hand, it allows you to see the different stages of the selection of qualified email, the filter and the processing of the actions that would be applied if we were not in test mode. This is an important feature to fine-tune the configuration of the collector.
 
A test mode is available (button '''Test'''). This mode does not cause any modification of your mailbox (just reading) nor modification in Dolibarr. On the other hand, it allows you to see the different stages of the selection of qualified email, the filter and the processing of the actions that would be applied if we were not in test mode. This is an important feature to fine-tune the configuration of the collector.
 +
 +
== Trouble shooting ==
 +
If you got the error "connection setup failed - authenticate" with Google OAuth and your OAuth token + refresh works, check the Login (email) in your Emailcollector setup.
    
== Example of use case: Using Emailcollector for a support center ==
 
== Example of use case: Using Emailcollector for a support center ==
You have a support center with n employees. The email of you support center is support@mycompany.com, that is a mailing-list that dispatch any entering email to the n employees. You must:
+
You have a support center with n employees. The email of your support center is support@mycompany.com (an independant email or a mailing-list that dispatch any input email to the n employees).  
* Declare the email support@mycompany.com as a possible sender email for each employee (but uncheck the checkbox "alias" if using Gmail). So it will be possible for every employee to send/answer emails as the  sender support@mycompany.com. So if the customer answer email of any employee, the answer will be sent to support@mycompany.com (so the n employee will also receive it).
+
 
* Once this is done, it is recommended to create another email account, for exemple *follow@mycompany.com* and include it as another member of the mailing list support@mycompany.com. So follow@mycompany.com will receive any emails and answers inside the Inbox.
+
You must:
* Enable the module EmailCollector and the module Ticket.
+
* Declare/Allow the email support@mycompany.com as a possible sender email for each employee (Example on Gmail: click on the menu wheel "Parameters", See All parameters, tab "Accounts and import", in section "Send email as", click on "Add another email", enter the email support@mycompany.com but uncheck the checkbox "alias", then click on link received by email to validate the new sender profile, go back in section "Send email as" and check the option "Reply from the same address the message was sent to").  
* Create one EmailCollector entry with credentials (IMAP login or OAuth) of the *follow* user and Inbox as the input directory. You can set the output directoy as "Processed emails" (you must create the directory or label before the first run). As the inbox is dedicated to support@mycompany.com email, no need to set filters.  
+
So it will be possible for every employee to send/answer emails as the  sender support@mycompany.com. So if the customer answer email of any employee, the answer will be sent to support@mycompany.com (so the n employees will also receive it).
 +
* Once this is done, if the email support@mycompany.com is a Mailing-List, it is recommended to create another email account, for exemple *followsupport@mycompany.com* and include it as another member of the mailing list support@mycompany.com. So followsupport@mycompany.com will receive any emails and answers inside the Inbox.
 +
* Enable the [[Module EMail Collector]] and the [[Module Ticket]].
 +
* In the setup of the ticket module, set the field "Force an email as CC recipient to all messages send from ticket page" to support@mycompany.com, so any email send from a ticket in Dolibarr backoffice will aslo be sent to support@mycompany.com.
 +
* In the setup of the ticket module, create one EmailCollector entry with credentials (IMAP login or OAuth) of the "followsupport" user as the user to connect to IMAP, and "Inbox" as the input directory. You can set the output directoy as "Processed emails" (you must create the directory or label before the first run). As the inbox is dedicated to followsupport@mycompany.com email, no need to set filters.  
   −
Imagine that the received emails are formated by a web form and content is in the body
+
Imagine that the received emails are formated by a web form and has this content:
   −
  Organization: My customer name
+
  Organization: A customer or name
  Email: mycustomeremail@example.com
+
  Email: acustomeremail@example.com
   −
Set the action to "Load the thirdparty by searching name/alias/email/id" with parameters  
+
Set the action to "Load the thirdparty by searching name/alias/email/id (load only)" with parameters  
    
  name=EXTRACT:BODY:Organization:\s*([\w\-\s]+)$
 
  name=EXTRACT:BODY:Organization:\s*([\w\-\s]+)$
 
  email=EXTRACT:BODY:Email:\s*([\w\.\-]+@[a-zA-Z\.\-]+)
 
  email=EXTRACT:BODY:Email:\s*([\w\.\-]+@[a-zA-Z\.\-]+)
   −
If the received email has no know format, you can't reuse contnt to guess the company name. Only the sender email can be used.
+
If the received email has no known format, you can't reuse content to guess the company name. So only the sender email will be used.
    
Then set a second action that is "Create or complete a ticket" (no parameters).
 
Then set a second action that is "Create or complete a ticket" (no parameters).
    
So each time an email is received to support@mycompany.com, or an answer is done, the user follow@mycompany.com receive the email and the collector will use it, trying to guess if it is a input or output email and will record a help desk ticket or complete a ticket..
 
So each time an email is received to support@mycompany.com, or an answer is done, the user follow@mycompany.com receive the email and the collector will use it, trying to guess if it is a input or output email and will record a help desk ticket or complete a ticket..
 +
 +
== Example of use case: Create an opportunity for a team of sales ==
 +
You have a sale team with n employees. The email of your team is sales@mycompany.com (an independant email or a mailing-list that dispatched any input email to the n employees).
 +
 +
You must:
 +
 +
* Declare the email sales@mycompany.com as a possible sender email for each employee (but uncheck the checkbox "alias" if using Gmail). So it will be possible for every employee to send/answer emails as the  sender sales@mycompany.com. So if the customer answer email of any employee, the answer will be sent to sales@mycompany.com (so the n employee will also receive it).
 +
 +
* Once this is done, if the email sales@mycompany.com is a Mailing-List, it is recommended to create another email account, for exemple *followsales@mycompany.com* and include it as another member of the mailing list sales@mycompany.com. So followsales@mycompany.com will receive any emails and answers inside its Inbox.
 +
* Enable the [[Module EMail Collector]] and the [[Module Projects]] with option "Allow opportunity management" to On.
 +
* Create one EmailCollector entry with credentials (IMAP login or OAuth) of the sales mailbox. You can set the output directoy as "Processed emails" (you must create the directory or label before the first run). As the Inbox is dedicated to followsales@mycompany.com email, no need to set filters.
 +
 +
Imagine that the received emails are formated by a web form and has this content:
 +
 +
Organization: A customer or name
 +
Email: acustomeremail@example.com
 +
 +
Set the action to "Load the thirdparty by searching name/alias/email/id (create if not found)" with parameters
 +
 +
name=EXTRACT:BODY:Organization:\s*([\w\-\s]+)$
 +
email=EXTRACT:BODY:Email:\s*([\w\.\-]+@[a-zA-Z\.\-]+)
 +
 +
If the received email has no know format, you can't reuse content of email to guess the company name. So only the sender email will be used.
 +
 +
Then set a second action that is "Create an opportunity" (no parameters).
 +
 +
So each time an email is received to sales@mycompany.com, or an answer is done, the user followsales@mycompany.com receive the email and the collector will use it to find existing thirdparty or will create it if not found, then will create the Project/opportunity attached to it.
    
=Boundary Value Analysis=
 
=Boundary Value Analysis=