Interface: EmailPreviewRequest
Defined in: packages/sdk/src/types/generated/email_preview.ts:31
Render an assembled preview for a compose or template send.
The preview shares delivery's template rendering and outbound-body assembly. It does not construct final MIME parts: embedded images retain authenticated contents URLs here, while delivery reads their bytes and uses content IDs.
mode selects which surface's rendering rules apply:
"compose"—content/htmlContentare the compose/reply editor's literal draft.htmlContentis sanitized exactly asEmailSendRequestsanitizes it before a real send."template"—htmlContentcarries theemail:sendaction's body TEMPLATE (HTML containing Jinja{{ … }}expressions),subjectthe subject template, andcontentTypethe action's content-type policy. The raw TEMPLATE (with its{{ … }}expressions) is not sanitized before Jinja rendering — sanitizing template source would mangle the Jinja syntax itself. Once rendered, element-containing HTML goes throughsplit_authored_body's layout-permissive sanitizer (sanitize_template_body_html) just as delivery does, so the preview includes the same sanitized assembled body.
Properties
content?
optionalcontent:string|null
Defined in: packages/sdk/src/types/generated/email_preview.ts:36
contentType?
optionalcontentType:EmailPreviewRequestContentType
Defined in: packages/sdk/src/types/generated/email_preview.ts:38
htmlContent?
optionalhtmlContent:string|null
Defined in: packages/sdk/src/types/generated/email_preview.ts:37
mode
mode:
EmailPreviewRequestMode
Defined in: packages/sdk/src/types/generated/email_preview.ts:32
recipient?
optionalrecipient:string|null
Defined in: packages/sdk/src/types/generated/email_preview.ts:35
subject?
optionalsubject:string
Defined in: packages/sdk/src/types/generated/email_preview.ts:34
Max Length
998
templateContext?
optionaltemplateContext:TemplateContextRequest|null
Defined in: packages/sdk/src/types/generated/email_preview.ts:39