Mail/SMS Configuration

SMTP Configuration

You can browse to SMTP transport module for Nodemailer documentation to make sure you use the right configuration.

SMTP transport Example
{
"from": "soajs@your.cloud.io",
  "transport": {
    "type": "smtp",
    "options": {
      "host": "smtp.mailgun.org",
      "port": 465,
      "auth": {
         "user": "soajs@your.cloud.io",
         "pass": "xxxxxx"
      }
   }
}

Email Content Configuration

You have full control over the content of the email that SOAJS URAC send. below is an example on how to configure the links and the email contents.

URAC mail configuration
{
  "link": {
    "join": "https://YOURDOMAIN/#/join/validate",
    "forgotPassword": "https://YOURDOMAIN/#/resetPassword",
	....
  },
  "sms": {
    "inviteToJoin": {
      "mediaUrl": ["URL/media"],
      "content": "Hi {{firstName}} {{lastName}}, you have been invite to join our App, here is the invitation code {{code}}"
    },
	"joinInvite": {
      "mediaUrl": ["URL/media"],
      "content": "Hi {{firstName}} {{lastName}}, thank you for joining our App, here is the validation code {{code}}"
    }
  },
  "mail": {
    "join": {
      "subject": "Welcome to SOAJS",
      "path": "/opt/soajs/node_modules/soajs.urac/mail/urac/join.tmpl"
    },
    "forgotPassword": {
      "subject": "Reset Your Password at SOAJS",
      "content": "<p>Dear <b>{{ username }}</b>, <br />Your account status has changed to <b>{{ status }}</b> by the administrator on {{ ts|date('F jS, Y') }}.<br /><br /> Regards,<br/> SOAJS Team. </p>"
    },
	....
  }
}

The list of templates

NameDescription
addUserThe email content that a user receives while adding a new user
changeEmailThe email content that a user receives while changing the email to confirm the new email address
changeEmail_code
changeUserStatusThe email content that a user receives on status change
forgotPasswordThe email content that a user receives while resetting the password
forgotPassword_code
invitePinThe email content that a user receives with the pin code once invited
joinThe email content that a user receives on join
resetPinthe email content that a user receives while resetting the pin

What data is available for you to be used in the email content

  1. The entire user record. For more information go here User Model
  2. The following extra variable in addition to the user record are also available:
    1. limit: expiry of the link in hours.
    2. link: The link with the token. Check the section below with an example about link.
    3. ts: the timestamp, if you want to highlight the date and time

Example

Custom Content of mail. As a template engine soajs is using https://handlebarsjs.com

Reset password
"<p>Dear <b>{{username}}</b>, <br />You have requested to reset your password.
<br />Please click the following link to proceed: <a href='{{link.forgotPassword}}'>{{link.forgotPassword}}</a>.
<br />Please note that the above link will expire in {{limit}} hours.<br /><br />Regards,<br/>SOAJS Team.</p>"
Add user
<p>Dear <b>{{firstName}} {{lastName}}</b>, <br />
SOAJS administrator has created an account for you on {{ts}}<br />
{{#if link.addUser}}
Please click the following link to set a password to your account: <a href='{{link.addUser}}'>{{link.addUser}}</a>.<br /><br />
{{^}}
The administrator set as password the following: {{password}}<br /><br />
{{/if}}
Please note you can change your username and/or password in the 'My Account' section after you login.<br /><br />
Regards,<br/>
SOAJS Team.
</p>

Multi lingual 

Starting stingray URAC email supports multi lingual email content capabilities as follow: 

URAC mail configuration
{
  "link": {
    "join": "https://YOURDOMAIN/#/join/validate",
    "forgotPassword": "https://YOURDOMAIN/#/resetPassword",
	....
  },
  "mail": {
    "join": {
      "subject": "Welcome to SOAJS",
      "path": "/opt/soajs/node_modules/soajs.urac/mail/urac/join.tmpl"
    },
    "forgotPassword": {
      "subject": "Reset Your Password at SOAJS",
      "content": "<p>Dear <b>{{ username }}</b>, <br />Your account status has changed to <b>{{ status }}</b> by the administrator on {{ ts|date('F jS, Y') }}.<br /><br /> Regards,<br/> SOAJS Team. </p>"
    },
	....
  }

	"fr": {
		"link": {
    		"join": "https://YOURDOMAIN/#/join/validate/fr",
    		"forgotPassword": "https://YOURDOMAIN/#/resetPassword/fr",
			....
  		},
  		"mail": {
    		"join": {
      		"subject": "Bienvenue à SOAJS",
      		"path": "/opt/soajs/node_modules/soajs.urac/mail/urac/fr/join.tmpl"
    	},
    	"forgotPassword": {
      		"subject": "Réinitialisez votre mot de passe à SOAJS",
      		"content": "....."
    	},
		....
  		}
	}
}