> For the complete documentation index, see [llms.txt](https://developer.collibra.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.collibra.com/workflows/designing-workflows/processes/shape-repository/service-task/delegates/mailsender-delegate.md).

# MailSender delegate

A delegate used for sending mails from the workflow.

| Field name  | Required                                 | Description                                                                                                              |
| ----------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| mailTo      | One of the recipient fields is mandatory | User expression for the users that should receive the mail.                                                              |
| mailToRoles | One of the recipient fields is mandatory | A comma separated list of roles that should receive the mail.                                                            |
| mailToUsers | One of the recipient fields is mandatory | A comma separated list of user names that should receive the mail.                                                       |
| template    | No                                       | The name of the template that should be used to generate the email.                                                      |
| section     | No                                       | The name of the section that should be used to generate the mail. The default is the process ID of the current workflow. |

The delegate is deprecated. Replace your service task containing this delegate with a script task, for example:

```
<scriptTask id="scripttask1" name="Notify Requester" scriptFormat="groovy" activiti:autoStoreVariables="false">
    <script><![CDATA[
        def usersIds = users.getUserIds("role(Requester)");
        if (usersIds.isEmpty()){
            loggerApi.warn("No users to send a mail to, no mail will be sent");
        } else {
             mail.sendMails(usersIds, "in-progress", null, execution);
        }
    ]]></script>
</scriptTask>
```
