SGCMailer

Specifications

SGCMailer is a specialized automated e-mail solution and an archive repository, custom designed for a customer. A web application provides a user interface to the e-mails, their documents and the parameters. It relies on an http Web Service and a highly efficient http rest api to send e-mail sets or individual e-mail messages and retrieve them or retrieve any kind of document.

Automated e-mail solution

An e-mail set is a set of several e-mails assembled together by a client application. It can contain a limited number of e-mail messages, each one having its own recipients, content and attachments. This is by contrast, very different from bulk-sent newsletters with a few, if any, personalized fields to a given list of contacts. The only role in life of an e-mail set is to serve as a compact vehicle for transporting e-mail information from the client to the server. Once received by the server application and dissected into its atomic components, it is of no more use since all e-mails are treated separately on the server.

In most cases, the e-mails generated by the client application are sent to SGCMailer without user intervention. Usually, this is done with a « send time » offset of several minutes or several hours. This leaves times for the employees to explore the candidate e-mails on a control panel in the SGCMailer application and eventually stop or delete the unwanted items.

If for any reason, an e-mail is not successfully sent on the first try, the systems attempts to send it four more times. If unsuccessful, an e-mail is sent to info@xxx>.be with all the details. An employee can then open the web application, select the faulty e-mail, change the destination (the most common problem) and resend it. A new cycle begins and the e-mail is reprocessed automatically.

An attachment can be described as a document attached to an e-mail. Since lots of documents are sent to company customers by other means, the application has been designed with that characteristic in mind: every attachment is saved into a document table having special fields corresponding to those of the company archive table. Also, a worth keeping e-mail body can be saved as a document. By storing attachments and worth keeping e-mail bodies into the same table, we will be able later on to implement an efficient TEXT SEARCH facility. Attachments can be sent to SGCMailer in the following formats: .pdf, .doc, .docx, .xls and .xlsx. By default, SGCMailer converts .doc, .docx, .xls and .xlsx to .pdf. Optionally, the original files can be sent as attachments. Both the e-mail set and the lone e-mail are built in .xml. The use of the standard http protocol and of an .xml file containing all the required information allows any client application to provide the same functionality in the future.

Archive repository

The 53.000 + document accumulated by SGC since 2004 have been imported in bulk into the SGCMailer database in a compressed format. The following formats are supported: .pdf, .doc, .xls, .html, .txt and .msg.

The daily documents production is automatically imported every night by a special process. The document browser shows any document as a .pdf for on the fly consultation and allows its download in its original format. Provisions have been taken to allow the upload of a missing document or a new version of an existing document.

By doing so, we have achieved a full document dematerialization. There is just no paper left and every document is just a few keystrokes away.

The architecture

SGCMailer is built upon state of the art 64-bit Open Source technologies: the Node.js framework under the V8 virtual machine (MIT Licence). And the PostgreSQL database engine where the e-mail messages and their attachments are persisted in (PostgreSQL licence, Open Source).

The only paid component is AlwaysUp from CoreTechnologies LLC. It ensures the proper restart of the application in case of an accidental shutdown of the server.

A working installation of Office 2013 is required to join the attachments in .pdf format instead of .doc, .docx, .xls or .xlsx.

SGCMailer is installed on a Windows 7 virtual machine.

SGCMailer consists of three processes:

  1. SGCMailBox: captures all incoming .xml files, validates them and stores their elements into the appropriate tables.
  2. SGCDispatcher: this process wakes up every x minutes, detects the e-mails to send, then sequentially transforms the attachments into .pdf format if required and sends the e-mails to their destinators.
  3. SGCArchiver: imports the daily documents production.

SGCMailer provides a web user interface (login required) to set a few parameters and to provide access to a mail browser and a document browser.

SGCMailer documentBrowser

An example of the document browser. It consists of three panes:

  1. Upper Left: the documents search criteria. The Letter type, Archive ID, Ordering Party ID, Contract ID, Type and Resume fields are case insensitive and you can use the *. Example: “B5*” will retrieve all letter types starting with “B5”. By default, the search is limited to the last month. You can change the “from” and the “to” dates at your convenience.
  2. Lower left: a browse window containing the list of documents corresponding to the search criteria once the user has clicked the “Search” button. Every column is sortable in ascending or descending order and you can uncheck the columns that you do not want to appear in the browse window.
  3. Right: the document browser:
    1. A .pdf attachment is shown in the attachments window under Firefox or Google Chrome. The user can print it or download it.
    2. The other types of attachments are downloadable through the “Open” button. This is also the case for the .pdf attachments with most versions of Internet Explorer.
    3. You can access the originating e-mail by clicking the “Open email” button.