taolib.testing.email_service.template.engine#
Jinja2 沙箱模板引擎。
提供安全的模板渲染,支持变量替换、条件判断和循环。 营销邮件自动注入合规退订链接。
Attributes#
Classes#
渲染后的邮件内容。 |
|
Jinja2 沙箱模板引擎。 |
Module Contents#
- class taolib.testing.email_service.template.engine.RenderedEmail#
渲染后的邮件内容。
- taolib.testing.email_service.template.engine._UNSUBSCRIBE_HTML = Multiline-String#
Show Value
""" <div style="margin-top: 32px; padding-top: 16px; border-top: 1px solid #e5e7eb; text-align: center; font-size: 12px; color: #6b7280;"> <p>如果您不希望继续接收此类邮件,可以 <a href="{url}" style="color: #3b82f6; text-decoration: underline;">点击此处退订</a>。 </p> <p>If you no longer wish to receive these emails, you can <a href="{url}" style="color: #3b82f6; text-decoration: underline;">unsubscribe here</a>. </p> </div> """
- taolib.testing.email_service.template.engine._UNSUBSCRIBE_TEXT = Multiline-String#
Show Value
""" --- 退订 / Unsubscribe: {url} """
- class taolib.testing.email_service.template.engine.TemplateEngine(unsubscribe_base_url: str = '')#
Jinja2 沙箱模板引擎。
使用 SandboxedEnvironment 防止模板注入攻击。 StrictUndefined 确保缺失变量会立即报错。
- _env: jinja2.Environment#
- _unsubscribe_base_url = ''#
- render(template_doc: taolib.testing.email_service.models.template.TemplateDocument, variables: dict, email_type: taolib.testing.email_service.models.enums.EmailType = EmailType.TRANSACTIONAL, recipient_email: str | None = None, unsubscribe_token: str | None = None) RenderedEmail#
渲染模板。
- 参数:
template_doc -- 模板文档
variables -- 模板变量
email_type -- 邮件类型
recipient_email -- 收件人邮箱(营销邮件需要)
unsubscribe_token -- 退订令牌(营销邮件需要)
- 返回:
渲染后的邮件内容
- 抛出:
TemplateRenderError -- 模板渲染失败