---
title: "send email · RUAL Documentation"
description: "Sends one email through mssgs mail. The message is queued (status: queued) and delivered by the mail platform; read its outcome with get message."
canonical: https://docs.rual.nl/block-types/mssgs%20mail/mssgsmailconnection_send_email
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

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 through mssgs mail. The message is queued (`status: queued`) and delivered by the mail platform; read its outcome with `get message`.

- flow `flow`

- connection required `mssgsmailconnection`

- subject required `value` The subject of the e-mail.

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

- html required `value` HTML body. With a template set on this block, this is the inner content the template wraps.

- text version `value` Plain-text body. Empty strips the HTML version of its tags.

- 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 (with `retry_after` on a 429) otherwise.

POST email on the mssgs mail transactional API. success=true means the platform ACCEPTED and queued the message (response.message_guid, response.message_id, response.status=queued) : not that it was delivered; a later bounce arrives through the domain webhook and get_message. `from` must be on the API key's sender domain or the API answers INVALID_FROM; empty `from` falls back to the provider's default from address. `to` takes 1–50 recipients. `text` defaults to the html with tags stripped. error carries `CODE: message`; codes worth branching on: RECIPIENT_SUPPRESSED (a recipient bounced before), DOMAIN_CEILING and RATE_LIMITED (response.retry_after seconds), INVALID_API_KEY. masked=true makes the platform erase subject and bodies from its own record after sending : use it for login codes and reset links. Suppressed in a simulation: no mail leaves in a dry run.

| `mssgsmail` |
| --- |
| `mssgs mail` |
| `email` |
| `mail` |
| `transactional` |

A typical wiring for [send email](https://docs.rual.nl/block-types/mssgs%2520mail/mssgsmailconnection_send_email): 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; [value](https://docs.rual.nl/block-types/value/value_default) feeds the `subject` 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 `html` pin; the `flow` out pin feeds [debug](https://docs.rual.nl/block-types/state%2520ui/state_debug).

[![Studio canvas example for the send email block: typical wiring for send email.](https://docs.rual.nl/canvas-examples/mssgsmailconnection_send_email.png)](https://docs.rual.nl/canvas-examples/mssgsmailconnection_send_email.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)
