You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

What 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.Stringtrue
addresses-cc-exprAn expression which results in an email address or list of addresses. The text format must adhere to the RFC822 standard.Stringfalse
addresses-bcc-exprAn expression which results in an email address or list of addresses. The text format must adhere to the RFC822 standardStringfalse
address-fromAn expression which results in an email address. The text format must adhere to the RFC822 standardStringtrue
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.Stringtrue
smtp-hostThe hostname of the SMTP server.Stringfalse
smtp-portThe port of the SMTP server.Integerfalse (defaults to 25)
smtp-userThe username to use when connecting to the SMTP server.Stringfalse
smtp-passwordThe password to use when connecting to the SMTP server.Stringfalse
smtp-usetlsIndicates if the SMTP server should be contacted using TLS.Booleanfalse (defaults to false)
DocumentsSpecify all documents to be generated and attached. (deprecated, use connection instead)Documentfalse
ConnectionSpecify the connection. It is used for document attachmentsStringfalse
FileIdsSpecify one or more file ids. When using this parameter, you also need to use the Connection parameter.Expressionfalse

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.


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:

"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:

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

Using the expression, addresses can be retrieved:

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:

"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 application.properties file , such as in the following example. The address-properties are new in Blueriq 11.6 and can be used from that version up.

application.properties
blueriq.connection.[AQ_MailService name from Studio].email.smtp=exampleDomain.com (for the smtp-host parameter)
blueriq.connection.[AQ_MailService name from Studio].email.smtpport=25 (for the smtp-port parameter)
blueriq.connection.[AQ_MailService name from Studio].email.username=userName (for the smtp-user parameter)
blueriq.connection.[AQ_MailService name from Studio].email.password=password (for the smtp-password parameter)
blueriq.connection.[AQ_MailService name from Studio].email.usetls=true (for the use-tls parameter)
blueriq.connection.[AQ_MailService name from Studio].email.fromaddress=test@yourDomain.com (for the address-from parameter)
blueriq.connection.[AQ_MailService name from Studio].email.toaddresses=test1@example.com (for the addresses-to-expr parameter)
blueriq.connection.[AQ_MailService name from Studio].email.ccaddresses=test2@example.com (for the addresses-cc-expr parameter)
blueriq.connection.[AQ_MailService name from Studio].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 fall back on the default properties. If no default properties are set, it will fall back on the Studio parameters.

application.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)

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 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 for that one property (it's possible to only configure the fromaddress as property and the other addresses in studio).

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

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: some of the above properties are mandatory in Studio, those can be filled in Studio with a dummy value if you always want to overwrite them with a property.

It is not recommended to specify the password in the Studio model 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.

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.


Unable to render {include} The included page could not be found.


  • No labels