---
title: "send email with template · RUAL Documentation"
description: "Sends one email whose subject and body come from a template stored on mssgs mail, rendered there against the template model. A RUAL mssgs mail block."
canonical: https://docs.rual.nl/block-types/mssgs%20mail/mssgsmailconnection_send_email_template
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Blueprint Language](https://docs.rual.nl/engine)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# send email with template

This block is part of the [`mssgs mail`](https://docs.rual.nl/block-types/mssgs%20mail) group and was last modified in core [`v15.0.1`](https://docs.rual.nl/core-versions/150001).

Sends one email whose subject and body come from a template stored on mssgs mail, rendered there against the template model.

- flow `flow`

- connection required `mssgsmailconnection`

- from `value` The sender, on the API key's own domain : anything else is refused with `INVALID_FROM`. A name can be set with `Name `. Empty uses the service provider's default from address.

- reply to `value` Reply-To address.

- to required `array` 1–50 recipients: addresses, `Name ` strings or `{email, name}` objects. For more, use the batch block.

- cc `array` CC recipients.

- bcc `array` BCC recipients.

- template alias required `value` Alias of a template stored on mssgs mail for this sender domain.

- template model required `object` The object the template is rendered against: `{{name}}` in the template reads `name` from here.

- subject `value` Optional. Overrides the template's own subject.

- tag `value` Optional tag for grouping messages in the mssgs mail activity view.

- metadata `object` Optional key/values stored with the message and returned by `get message` and the bounce webhook.

- headers `object` Optional extra mail headers.

- masked `condition` For content that must never be shown again : a login code, a reset link. mssgs mail overwrites the subject and bodies on its own record once the message is sent, so neither the activity view nor `get message` can read them back.

Default `false`

- flow `flow`

- connection `mssgsmailconnection`

- success `condition`

- error `value` The refusal as `CODE: message`, e.g. `RECIPIENT_SUPPRESSED`, `DOMAIN_CEILING`, `INVALID_FROM`, `INVALID_API_KEY`. Empty on success.

- response `object` `{message_guid, message_id, status}` on success; the refusal body otherwise.

POST email with `template` + `template_model`. The template (created with template_save or in the mssgs mail app) belongs to the API key's sender domain and is addressed by its alias. Its subject, html and text are Mustache: {{name}} is HTML-escaped in the html body and inserted as-is in the subject and text, {{{name}}} is raw, {{#list}}…{{/list}} iterates; a key missing from template_model renders empty. A non-empty `subject` pin overrides the template's subject. error TEMPLATE_NOT_FOUND when the alias does not exist on this domain, TEMPLATE_RENDER_FAILED when the stored template does not parse. Everything else : from/to rules, error codes, masked, simulation suppression : is as mssgsmailconnection_send_email.

| `mssgsmail` |
| --- |
| `mssgs mail` |
| `email` |
| `mail` |
| `template` |

A typical wiring for [send email with template](https://docs.rual.nl/block-types/mssgs%2520mail/mssgsmailconnection_send_email_template): a [function trigger](https://docs.rual.nl/block-types/globals/trigger_custom_function) starts the flow; [open connection](https://docs.rual.nl/block-types/mssgs%2520mail/mssgsmailconnection_open) feeds the `connection` pin; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `array_to` pin; [value](https://docs.rual.nl/block-types/value/value_default) feeds the `template` pin; [new object](https://docs.rual.nl/block-types/object/object_new_fields) feeds the `template_model` pin; the `flow` out pin feeds [debug](https://docs.rual.nl/block-types/state%2520ui/state_debug).

[![Studio canvas example for the send email with template block: typical wiring for send email with template.](https://docs.rual.nl/canvas-examples/mssgsmailconnection_send_email_template.png)](https://docs.rual.nl/canvas-examples/mssgsmailconnection_send_email_template.png?v=3)

## Version history

Introduced in [`v15.0.1`](https://docs.rual.nl/core-versions/150001).

- [Back to `mssgs mail`](https://docs.rual.nl/block-types/mssgs%20mail): Return to the main group to view all sub-groups

- [Back to `mssgs mail`](https://docs.rual.nl/block-types/mssgs%20mail?group=mssgs%20mail): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
