> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dittofeed.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Email Template Editor

Dittofeed provides two forms of email template editing:

1. A notion like low-code editor that makes it easy to compose primarily text-based emails.
2. A code-based editor that supports Liquid, HTML, and MJML.

## Low-code Editor

The low-code editor provides a notion-like interface for composing lightly styled emails. Blocks are inserted into the template by typing the `/` key and selecting the desired block from the list of suggestions.

<Frame>
  <img src="https://mintcdn.com/dittofeed/blTyhzJH4uYGEKZ4/images/low-code-template-commands.png?fit=max&auto=format&n=blTyhzJH4uYGEKZ4&q=85&s=1964e3cfbe7dabb75c359461d96caf53" alt="Low Code Email Editor Commands" width="3680" height="2382" data-path="images/low-code-template-commands.png" />
</Frame>

Text can be formatted by highlighting the text and selecting the desired formatting options from the toolbar that appears.

<Frame>
  <img src="https://mintcdn.com/dittofeed/blTyhzJH4uYGEKZ4/images/low-code-template-formatting.png?fit=max&auto=format&n=blTyhzJH4uYGEKZ4&q=85&s=ef1afc6c46710549c6a599ebb90090d9" alt="Low Code Email Editor Formatting" width="3680" height="2382" data-path="images/low-code-template-formatting.png" />
</Frame>

## Code-based Editor

The code-based email editor supports [Liquid syntax](https://liquidjs.com/tutorials/intro-to-liquid.html), HTML, and [MJML](https://mjml.io/). Learn more about coding responsive emails in MJML in [the next section](/resources/templates/mjml).

An example of a rendered "welcome email" template using MJML and Liquid:

<Frame>
  <img src="https://mintcdn.com/dittofeed/blTyhzJH4uYGEKZ4/images/mjml-welcome-template-rendered.png?fit=max&auto=format&n=blTyhzJH4uYGEKZ4&q=85&s=0fb254f65dcb785b0293c66aa128b705" width="3456" height="1644" data-path="images/mjml-welcome-template-rendered.png" />
</Frame>

A view of the dashboard editor with the template code:

<Frame>
  <img src="https://mintcdn.com/dittofeed/blTyhzJH4uYGEKZ4/images/mjml-welcome-template-code.png?fit=max&auto=format&n=blTyhzJH4uYGEKZ4&q=85&s=7c8974ef7b53dcf14e85b013827664dd" width="3456" height="1644" data-path="images/mjml-welcome-template-code.png" />
</Frame>

A full view of your user properties, editor, and a rendered email preview:

<Frame>
  <img src="https://mintcdn.com/dittofeed/MR-erTsdiKcJhyyj/images/email-editor-full-view-with-mjml.png?fit=max&auto=format&n=MR-erTsdiKcJhyyj&q=85&s=8dd9754a605bd0f13a1a7e2563dcd666" width="3456" height="1792" data-path="images/email-editor-full-view-with-mjml.png" />
</Frame>

## Sending Email Attachments

Dittofeed supports sending email attachments.

<Warning>
  When possible, you should link to files using a URL rather than sending them as attachments. Email attachments can have a substantial negative impact on emails' deliverability.

  * Email providers often send emails with attachments to spam.
  * Email attachments are often used by malicious actors to distribute malware.
</Warning>

Sending email attachments requires using `File` [type user properties](/resources/user-property-types/file). First, create a user property that will capture the file you're interested in sending.

<Frame>
  <img src="https://mintcdn.com/dittofeed/blTyhzJH4uYGEKZ4/images/file-user-property.png?fit=max&auto=format&n=blTyhzJH4uYGEKZ4&q=85&s=03e3b84004e8cfc12a48ec34624d3507" alt="File User Property" width="3680" height="2382" data-path="images/file-user-property.png" />
</Frame>

Then, include a reference to this file in your template, by clicking on "Options".

<Frame>
  <img src="https://mintcdn.com/dittofeed/MR-erTsdiKcJhyyj/images/email-template-with-attachment-file.png?fit=max&auto=format&n=MR-erTsdiKcJhyyj&q=85&s=30abaaa7bff9713d97074535ecd8c2af" alt="Email Template with Attachment File" width="3680" height="2382" data-path="images/email-template-with-attachment-file.png" />
</Frame>

Finally, send a track event with the files you'd like to attach.

```json theme={null}
{
  "type": "track",
  "files": [
    {
      "type": "Base64Encoded",
      "name": "my_file_name.pdf",
      "mimeType": "application/pdf",
      "data": "base64-encoded-file-data"
    }
  ],
  "properties": {
    ...
  },
  ...
}
```

***

## Custom Recipient Property

By default, emails are sent to the user's `email` property. You can override this by selecting a different user property in the template's "Recipient User Property" setting, accessible via the "Options" button.

This is useful for:

* **Alternative contact methods**: Send to a user's work email instead of personal email
* **Third-party notifications**: Send to a user's manager, support agent, or parent

See [Custom Recipient Properties](/guide/custom-recipient-properties) for detailed configuration and important notes about unsubscribe links.

***

## Low-code Email Editor Tutorial Video

<iframe className="w-full aspect-video" src="https://www.youtube.com/embed/nUT4zKdMMho?si=axrgQ_66U5hJ4X7y" title="Low-code Email Editor Tutorial Video" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />
