Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
iconfalse
titleWhat is it for?

AQ_MailService is used to send e-mails using Assets. This Asset is used as body text that can in turn (optionally) contain HTML tags.

Parameters

NameDescriptionTypeRequired
addresses-to-exprAn expression which results in an email address or list of addresses. The text format must adhere to the RFC822 standard. See also the Tips section below.StringtrueYes
addresses-cc-exprAn expression which results in an email address or list of addresses. The text format must adhere to the RFC822 standard.StringfalseNo
addresses-bcc-exprAn expression which results in an email address or list of addresses. The text format must adhere to the RFC822 standardStringfalseNo
address-fromAn expression which results in an email address. The text format must adhere to the RFC822 standardStringtrueYes
mail-assetThe name of the asset that contains the subject and the body of the email. Note: The type of the asset must be “Email” and should contain only one line of text.StringtrueYes
smtp-hostThe hostname of the SMTP server.StringfalseNo
smtp-portThe port of the SMTP server.Integerfalse No (defaults to 25)
smtp-userThe username to use when connecting to the SMTP server.StringfalseNo
smtp-passwordThe password to use when connecting to the SMTP server.StringfalseNo
smtp-usetlsIndicates if the SMTP server should be contacted using TLS.Booleanfalse No (defaults to false)
DocumentsSpecify all documents to be generated and attached. (deprecated, use connection instead)DocumentfalseNo
ConnectionSpecify the connection. It is used for document attachmentsStringfalseNo
FileIdsSpecify one or more file ids. When using this parameter, you also need to use the Connection parameter.ExpressionfalseNo

Events

  • MailSizeExceeded: When the mail server indicates the combined size of all attachments is too large to be send, this exit is taken so that you can give a clear indication to the end user. If the max size is exceeded and this exit event is not mapped, an error is thrown.

...

...

Tip

When specifying email address values in the parameters above, expression statements are to be used.

For a simple hard coded email address, an expression containing a constant value suffices:

Code Block
"romeo@example.org"

The parameters addresses-to-expr, addresses-cc-expr or addresses-bcc-expr can deal with a list of values. In that case, the expression should reflect this:

Code Block
["romeo@example.org", "juliet@example.com"]

Using the expression, addresses can be retrieved:

Code Block
COLLECT person.mailaddress FROM ALL person WHERE (person.mailaddress != ?)

The AQ_MailService supports adding phrases to mail addresses (where the 'phrase' typically is a for humans readable identifier of the mail address. The format for an email address using a phrase is: Romeo <romeo@example.org>

Typically, phrases can be surrounded by the double-quote character ("). Within Blueriq, this character signifies the beginning or end of an expression. To prevent problems, the AQ_MailService accepts unquoted phrases (before submitting a message to an email server, the AQ_MailService makes sure that all phrases are properly formatted). As a result, each of these examples are valid mail address definitions within the AQ_MailService:

Code Block
"Romeo <romeo@example.org>"
"Romeo Capulet <romeo@example.org>"
"Capulet, R. <romeo@example.org>"
["Romeo <romeo@example.org>", "Juliet <juliet@example.com>"]
["Romeo Capulet <romeo@example.org>", "Juliet Montague <juliet@example.com>"]
["Capulet, R. <romeo@example.org>", "Montague, J. <juliet@example.com>"]

Properties

Some AQ_MailService parameters can be set in the

Include Page
_PropertiesFileJava
_PropertiesFileJava
 file file , such as in the following example. The address-properties are new in Blueriq 11.6 and can be used from that version up.

Code Block
languagetext
titleapplication.properties
blueriq.connection.[AQ_MailService name from StudioEncore].email.smtp=exampleDomain.com (for the smtp-host parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.smtpport=25 (for the smtp-port parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.username=userName (for the smtp-user parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.password=password (for the smtp-password parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.usetls=true (for the use-tls parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.fromaddress=test@yourDomain.com (for the address-from parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.toaddresses=test1@example.com (for the addresses-to-expr parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.ccaddresses=test2@example.com (for the addresses-cc-expr parameter)
blueriq.connection.[AQ_MailService name from StudioEncore].email.bccaddresses=test3@example.com (for the addresses-bcc-expr parameter)

Default mail connection properties

As of Blueriq 12.5, it is also possible to define a default mail connection. When a AQ_MailService connection name is not defined in the properties, the runtime will fall back on the defined default property. The default properties can be defined as shown in the following example. When a specific property for an AQ_MailService is not defined, it will it will fall back on the default properties. If no default properties are set, it will fall back on the Studio parametersEncore parameters.

Code Block
languagetext
titleapplication.properties
blueriq.connection.email.smtp=exampleDefaultDomain.com (for the smtp-host parameter)
blueriq.connection.email.smtpport=25 (for the smtp-port parameter)
blueriq.connection.email.username=defaultUserName (for the smtp-user parameter)
blueriq.connection.email.password=defaultPassword (for the smtp-password parameter)
blueriq.connection.email.usetls=true (for the use-tls parameter)
blueriq.connection.email.fromaddress=default@yourDomain.com (for the address-from parameter)
blueriq.connection.email.toaddresses=default1@example.com (for the addresses-to-expr parameter)
blueriq.connection.email.ccaddresses=default2@example.com (for the addresses-cc-expr parameter)
blueriq.connection.email.bccaddresses=default3@example.com (for the addresses-bcc-expr parameter)
UI Text Box
type
Tip

When the e-mail addresses are configured through the property files, it's not possible to use expressions or any Blueriq logic to derive them from attributes (use Studio configuration Encore configuration instead).

Also note the following points:

  • The fromaddress property can be only 1 e-mail address.
  • The toaddresses, ccaddresses and bccaddresses may contain more than one address. Multiple addresses may either be seperated by a comma ',' or by a semicolon ';'.
  • If one of the address properties is not filled, it will fallback to the default property. If the default property is not filled, it will fall back on the studio parameters Encore parameters for that one property (it's possible to only configure the fromaddress as property and the other addresses in studioEncore).

E-mail addresses configured in properties may contain the following formats:

Code Block
romeo@example.org
romeo@example.org, juliet@example.com
romeo@example.org; juliet@example.com
"romeo@example.org"; "juliet@example.com"
Romeo Capulet <romeo@example.org>
Romeo Capulet <romeo@example.org>, Juliet Montague <juliet@example.com>
Romeo Capulet <romeo@example.org>; Juliet Montague <juliet@example.com>
romeo@example.org, Juliet Montague <juliet@example.com>
"romeo@example.org"; "Juliet Montague <juliet@example.com>"
Note

Note: some of the above properties are mandatory in StudioEncore, those can be filled in Studio Encore with a dummy value if you always want to overwrite them with a property.

type
Note

It is not recommended to specify the password in the Studio model Encore because the value of the smtp-password parameter is saved in plain text in the project xml which can lead to security issues. We recommend saving the password in the application.properties file where it can be encoded.

UI Text Box

Tip

When you want to send an email from a different address or alias, then you need to configure that on the mail service.

Here is the documentation on how to do that for gmail: https://support.google.com/a/answer/22370?hl=en

When this is not set correctly, you will experience that the mail send from the mail address that is configured for authentication with TLS.

...