Messaging Systems Integration Guide

 

Overview

The nFORM system provides integration with messaging systems to provide a means for communicating with external entities.

As of the current time, one messaging system has been established to support email communication.

This document describes this integration with external messaging systems.  It is worth noting that our cloud email service (SendGrid) can support numerous configurations to allow for the successful sending of email messaging, which include the ability to inject in host headers to ensure delivery and that addressing matches the owning domain. 

Messaging Channels

Each of the available messaging channels is described in more details below.

Email

The nFORM system provides the ability to use an external email messaging system. The details of this communication channel are described in this section.

The nFORM system depends on the existence of and access to an SMTP server for the purposes of sending of emails and communicating with system administrators, processors and submitters.  The nFORM system sends the majority of its messages via a SMTP mail server.  The mail server address, any required values to send and receive emails, and the recipients of the internal emails can be specified.

By default, the base email Velocity templates will be utilized.  If the intention is to create custom email content, the location of the organization specific email templates will need to be specified in the email.templateOverridePath variable.  For additional details of the configuration and customization of the email templates, see the Email Template Guide document.

All system emails are set to use the same designated email address and sender name for the system.  This server will need to be accessible and configured for access, and the designated recipients of the internal emails will need to be established.    

The following configuration settings are available when configuring emails:

Setting

Definition

email.isSendEnabled

 

Master switch" for email - turn it on or off by toggling this value.

 

email.support.address

 

Support Email Address – listed as the email contact on the site.  This can be an individual or email group. 

 

email.admin.address

 

All security and system emails will be sent to this address.

 

email.fromAddress

 

Address used to send notifications to users. 

email.fromAddressDisplayName

 

Display name show on emails to users. 

email.templateBasePath

 

Path to the base template files.  

email.templateOverridePath

 

Path to the active set of email templates.

email.smtpServerHost

 

IP address or DNS of the SMTP server. 

email.smtpServerPort

 

Port used by SMPT mail. Default is 25. 

email.useSsl

 

Determines whether SSL is used to encrypt emails.  Your SMTP server must support this feature. 

 

email.smtpServerUsername

 

Username for sending email if required.  Leave blank if it is not going to be used. 

 

email.smtpServerPassword

 

Password for sending email if required.  Leave blank if it is not going to be used.

 

email.genericName

 

Generic Name for addressing emails if user name is not available. 

 

In addition to specifying the settings used for identifying and authenticating sending messages with the email server, any emails sent out from by the system can be configured to have a custom email subject by overriding the default value. 

An example of the configuration settings are below:

 

<add key="email.smtpServerHost" value="smtp.windsor.com"/>

<add key="email.smtpServerPort" value="25"/>

<add key="email.useSsl" value="false"/>

<add key="email.admin.address" value="admin@windsorsolutions.com" />

<add key="email.smtpServerUsername" value="XXXXXXXX"/>

<add key="email.smtpServerPassword" value="XXXXXXXX"/>

<add key="email.isSendEnabled" value="true"/>

 

A common third-party email service used by nFORM is SendGrid.  SendGrid has stopped support for standard username/password integration.  The replacement is to use the word ‘apikey’ in the username field and in the password field enter a key generated on the SendGrid website.