Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Button handy
blanktrue
color#0052CC
nameSend Feedback
linkhttps://docs.google.com/forms/d/e/1FAIpQLScmToBe3vynAlb5fdKwCGxYqnTbDc66sIBgeecG2BuFDuHc7g/viewform?entry.2002826954=Mail+Configuration+%28outgoing%29+-+490996015
widthauto

Excerpt

The mail sender configuration refers the mail templates directory and templates localization.

 When accessing Outgoing Mail, you will see the following screen:

image-20240522-153303.png

Email Templates

Emails may be sent in multiple languages based on the sender's language or on the receiver's language. The emails templates are placed on disk, in a directory specified by you and must follow the steps below to get picked correctly by the SIL Engine™.

Let's see an example to understand how it works. Resolution of the file mytemplate.tpl for a given language (let's use French/France) is performed like this:

  1. Engine searches for fr_FR/mytemplate.tpl in the templates directory. It is displayed if it is found. We suppose the locale is French/France, and not Canadian French for instance. The directory searched language ISO 2 letter code and the ISO 2 letter country code.

  2. If it is not found, the engine continues to search for fr/mytemplate.tpl. In other words, it drops the country code from the directory. If it is found, it is displayed.

  3. If it is still not found, the engine searches for mytemplate.tpl. This means that there is no localization available for this template. 

  4. If mytemplate.tpl is not found, the search results in error and the string may be interpreted like this.

With this algorithm cleared, let's see where the second parameter ('Mail language on sender/receiver') kicks in. If set on the sender, the locale is very easily determined. It is the sender's language and the engine will send a single email with the template resolved as above. If that parameter is set on the receiver the engine performs additional steps:

  1. Groups recipients from TO, CC, BCC fields based on language.

  2. Resolves each template based on that language.

  3. Sends mails to each group determined like this to keep the language consistent.

Therefore when setting the receiver to determine the language, the engine may send multiple mails, one in each language; of course, maximum number of mails sent is equal with the length of unique recipient list. While this is a very useful feature, this also impacts the performance and the memory used. If you're using queues.

SIL Template Language

Within the templates any standard or custom field defined in the issue that called the function can be referenced using the notation $field$. In fact starting with version 4.0 we expanded this notation and created a meta language named STL (not from Standard, but SIL™). This language allows embedding snippets of SIL™ within the template. So, for instance, you can output multiple rows in a html table. You can read more about STL in a dedicated chapter.

Email Sender

There are 2 email senders available for the cloud: 

Mail Sender

Description

When to use

Direct sender, custom

Connects to the SMTP server and sends the mail. You need to specify the mail server parameters

You need to configure another mail server for the mails and you want to wait for the send confirmation to arrive before continuing your SIL™ program

Null sender

Logs messages to be sent in the Jira log

Debug and Development


Note that a mail that has been successfully sent does not mean that the recipient got the mail. It can be rejected for multiple reasons. SMTP does not guarantee delivery!

If you choose Direct sender, custom, you need to provide additional parameters:

These parameters are standard, and you can select between the 'smtp' and 'smtps' protocols, specify the SMTP host server and port, as well as the authentication tokens (username / password). If you are unsure what to fill in in this form, ask your network administrator to provide details of your company mail setup.

More Configuration Guides

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
cqllabel = "configuration" and space = currentSpace ( )

Contents

Table of Contents

...