1. How Email Integration Works

There are several components to Email Integration in xTuple Connect, apart from xTuple Connect itself:

IMAP mail server

IMAP is an abbreviation for "Internet Message Access Protocol". IMAP servers are centralized computers contacted by Email clients for reading Email.

Email client

An Email client is the program most users associate with Email. It is the program you use to read your Email, delete old messages, organize messages into folders, etc. This could be a specialized program, like Microsoft Outlook or Mozilla Thunderbird, or a web browser like Apple's Safari or Google's Chrome, or a smart phone application. Most Email clients can use IMAP for reading Email.

Trojita

Trojita is an open source Email project. It contains a standard IMAP Email client. Each user must run the Trojita Email client to configure which Email folders are scanned for import into the xTuple database (see Section 2, “Configuring Email Integration”). People may also use it as their regular Email client if they wish.

Trojita has been enhanced with a second client application that runs without user interaction. This client is automatically started when the user logs in to the xTuple ERP client and does the actual Email import into the xTuple database.

Diagram of xTuple Mail Integration Components

As mail is imported it is processed by business logic in xTuple Connect that associates recognized Email Addresses with their respective Contacts. If a matching Contact is not found, one is automatically created. Additionally, Connect scans the subject and body for predefined document reference identifiers and if any are found associates the mail with those documents. An Email tab has been added to the Contacts window and other documents such as Sales Order, Incident and Opportunity so that users can quickly view Email associated with those records. Mail launched from xTuple includes a document reference inserted into the subject line that can later be used as a reference to associate mail imported back into xTuple with that document. This reference should continue to work as users continue to volley Email back and forth from their Email client using standard reply mechanisms.

Finally, Email sent by Connect itself using EDI profiles, such as sales order acknowledgements and incident updates, inserts an Email record into xTuple as well. Note, however, it is not necessary to run the BatchManager processing utility to otherwise take advantage of mail integration.