12-27-2018 10:58 PM
Hi all!
I need to send emails, and I use a service task for it:
<serviceTask id="SendEmail_1" name="Sending a notification by email" activiti:type="mail">
<documentation></documentation>
<extensionElements>
<activiti:field name="to">
<activiti:expression><![CDATA[${to}]]></activiti:expression>
</activiti:field>
<activiti:field name="subject">
<activiti:expression><![CDATA[${subject}]]></activiti:expression>
</activiti:field>
<activiti:field name="text">
<activiti:expression><![CDATA[${body}]]></activiti:expression>
</activiti:field>
<activiti:field name="ignoreException">
<activiti:string><![CDATA[true]]></activiti:string>
</activiti:field>
<activiti:field name="charset">
<activiti:string><![CDATA[utf8]]></activiti:string>
</activiti:field>
</extensionElements>
</serviceTask>
I also need to catch the errors that occur when sending mail. In the user guide, I read that in order to get a description of the error, you need to read from the variables of the process the value of the variable "exceptionVariableName". As you can see above, I added this to the service task, but so far I have not seen that it works. I tried to give him non-existent addresses of recipients, but there was no error. Does it even work? When does it work? Or is there another mechanism for getting error descriptions?
PS I use Activiti 6.0.0.
PSS I tried to add the block below in the 'extensionElements' tag:
<activiti:field name="exceptionVariableName">
<activiti:string><![CDATA[error]]></activiti:string>
</activiti:field>
And it also did not help me (for example, if the recipients are not correct).
PSSS I specified the wrong smtp server host (while creating the process configuration bean), and I got the error description (the Java code for receiving it is presented below), but it is uninformative.
public void logEmailSending(DelegateExecution execution) {
Object error = execution.getVariable("error");
if (error != null)
logger.error("An error occurred while sending the email: " + error);
}
it almost solved my problem, but, as I wrote above, I would like to be more concrete by mistake, and it still does not catch the error in the recipients addresses
12-28-2018 03:32 AM
Hi Max Lich,
Are configure E-mail server configuration in config file?
If not, Please configure like this.
Thanks,
Vidhi
12-28-2018 04:39 AM
Of course, I have already done it. My emails are being sent and received successfully. But i also want to catch errors if errors occured.
12-30-2018 10:22 PM
Have you already create variable named "error" in your execution? The the logic only checks if the process variable (that holds exceptionVariableName
) is present in the execution, the mail task will not create a new variable for you.
01-08-2019 11:32 PM
However, how i wrote above, it had created the variable with specified name and had written the error text to this variable. The only thing is that this text is not very informative.
Explore our Alfresco products with the links below. Use labels to filter content by product module.