# Jadpo's own magic-link email

With nothing written, Jadpo sends its own magic-link email, at level 1
of [Built-in emails](built-in-emails.md). This topic is how that email is
written and sent.

## Written by the runtime

Jadpo's email has no templates. The runtime writes its HTML and text
from Jadpo's seven email messages, each worded in the email's locale:
your app's rewording first, then Jadpo's. `{app_name}` is the
application's `display_name:`, and `expires_in` is the duration in words
in that locale, such as "15 minutes". Without `locales { }` the email is
in `en_gb`, in Jadpo's wording.

## How it looks

The email is one neutral column at most 480 pixels wide, with inline
styles only and no images or fonts. Colours are left to the reader's
mail client, except the button's: a dark fill, `#1f2937`, under white
text, a contrast of about 15:1. In order, it has the heading, the line
naming the address, the button, and the code line with the six digits
set apart, monospaced, spaced and never wrapped, so they read and copy
easily. The expiry and ignore lines follow, a size smaller. The text
part has the same lines, with the link written out. The whole email is
in the locale's direction: `dir="rtl"` for a right-to-left locale.

## Its layout

With your app's layout, the HTML body goes into `layout.html` as its
`{{ content }}`, and the text into `layout.txt`. Without one, Jadpo's
plain layout is a minimal document: `<!DOCTYPE html>`, the locale's
`lang` and `dir`, and the subject as its title.

## Its delivery

It is delivered by a subscriber of its own, `email jadpo.MagicLinkEmail`,
tried as an email is. Its outbox payload is the address, the locale and
the sign-in request's id, never the link or the code, which are made as
it is sent ([Magic links](magic-links.md)).
