Appearance
SendMailAction
With the SendMailAction the system can send mails when something triggers a workflow.
Configuration:
In the *.xml file you have to configure the trigger field, the action class, and the toMail or the toUser parameter. You can also configure some recommended parameters and custom parameters.
xml
<workflow_event>
<conditions/>
<trigger_fields>
<trigger_field>trigger-field</trigger_field>
</trigger_fields>
<actions>
<action class="com.cm4ap.ce.workflow.action.SendMailAction">
<parameters>
<entry key="toMail">test@4allportal.com</entry>
</parameters>
</action>
</actions>
</workflow_event>Parameters:
Parameters are given as follows:
xml
<entry key="parameterKey">parameterValue</entry>
//example:
<entry key="language">en_US</entry>Possible configurable parameters:
NOTE Minimum one recipient is required.
| Parameter | Definition | Notes |
|---|---|---|
| toMail | Defines the recipient of a mail | |
| by E-Mail. | ||
| ------------------ | ------------------------------------- | --------------------------------------------- |
| toUser | Defines the recipient of a mail | You can use fields of the current bean to |
| by UserId or fields. | get an user id. eg: | |
| Separate inputs by comma. | ||
| ------------------ | ------------------------------------- | --------------------------------------------- |
| toRoleName | Defines a whole role as recipients | Format: |
| of a mail by role name. | String Array | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| toRoleId | Defines a whole role as recipients | Format: |
| of a mail by role id. | String Array | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| template | Defines the template which should | Default: |
| be used. :ref:Learn how templates | The recipients will receive a notification | |
work <templates> | email that no template is specified | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| subject | Defines the subject of the mail. | Default: |
| Only use if no subject is defined | The default subject for the mail is | |
| in the html template | “4ALLPORTAL systemmail” | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| bccMail | Defines the blind carbon copy by | |
| user mail-address | ||
| ------------------ | ------------------------------------- | --------------------------------------------- |
| ccMail | Defines the carbon copy by user | |
| mail-address | ||
| ------------------ | ------------------------------------- | --------------------------------------------- |
| bccUser | Defines the blind carbon copy | You can use fields of the current bean to |
| recipient of a mail by UserId or | get an user id. eg: | |
| fields. | Separate inputs by comma. | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| ccUser | Defines the carbon copy recipient | You can use fields of the current bean to |
| of a mail by UserId or fields. | get an user id. eg: | |
| Separate inputs by comma. | ||
| ------------------ | ------------------------------------- | --------------------------------------------- |
| bccRoleName | Defines the blind carbon copy by | Format: |
| role name | String Array | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| bccRoleId | Defines the blind carbon copy by | Format: |
| role id | String Array | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| ccRoleName | Defines the carbon copy by user | Format: |
| role name | String Array | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| ccRoleId | Defines the blind carbon copy by | Format: |
| role id | String Array | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| language | Defines the language to process | The default language of the mail is the |
| the associated template | language of the running system | |
| ------------------ | ------------------------------------- | --------------------------------------------- |
| userId | Defines the sender of the mail | Default: 4ap_su |
- You can add custom parameters and use them as variable in the mail template.
Template variables:
Available variables for the mail template and subject:
| Variable | Description |
|---|---|
| external_url | ROOT-URL of the running system exp.: 4allportal.net |
| modByUser.mod_time | Field modification time |
| modByUser.id | Id from user who modified the field |
| modByUser.module_name | Name of the module the modded field was located |
| modByUser.type | Type of user who modified the field |
| modByUser.username | Username of user who modified the field |
| object.mod_time | Bean modification time |
| object.id | Id of bean which was modified |
| object.module_name | Module name of module the modified bean was located |
| object.type | Type of bean which was modified |
| custom.* | All parameters which are configured in the workflow xml |
NOTE You can use all fields of the current bean in the mail template. The bean is saved in the object variable.
Code example
xml
<?xml version="1.0" encoding="UTF-8"?>
<workflow_event>
<description>Some description</description>
<conditions/>
<trigger_fields>
<trigger_field>test_myfield</trigger_field>
</trigger_fields>
<actions>
<action class="com.cm4ap.ce.workflow.action.SendMailAction">
<parameters>
<entry key="template">testEmail</entry>
<entry key="toRoleName" class="string[]">
<value>Admin</value>
<value>User</value>
</entry>
<entry key="toMail">test@4allportal.com</entry>
<entry key="subject">Test mail</entry>
<entry key="language">en_US</entry>
<entry key="userId">148a62e9-cb1d-454f-9a7d-52fd6ec0bd35</entry>
<!-- custom parameters -->
<entry key="test">test</entry>
</parameters>
</action>
</actions>
</workflow_event>Images in HTML template
In your HTML template you can use CID images like this:
html
<body>
{objectimage source=object.id type="medium" module="file" mode="letterbox" width="150" height="150"}
</body>The object.id is the id of the current changed asset.

