[{"data":1,"prerenderedAt":1190},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"/docs/landing/email/technical-en":444,"/docs/landing/email/technical-surround-en":1185},[4,8,13,28,41,51,64,77,94,110,134,150,157,172],{"title":5,"path":6,"stem":7},"Overview","/docs/landing","0.docs/1.landing/001.index",{"title":9,"path":10,"stem":11,"badge":12},"Built-in Features","/docs/landing/built-in-features","0.docs/1.landing/002.built-in-features","New",{"title":14,"path":15,"stem":16,"children":17,"icon":27},"Content Foundation","/docs/landing/content","0.docs/1.landing/02.content/1.index",[18,19,23],{"title":5,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"Details","/docs/landing/content/details","0.docs/1.landing/02.content/2.details",{"title":24,"path":25,"stem":26},"Technical","/docs/landing/content/technical","0.docs/1.landing/02.content/4.technical","i-heroicons-document-text",{"title":29,"path":30,"stem":31,"children":32,"icon":40},"Regional Content","/docs/landing/regional","0.docs/1.landing/03.regional/1.index",[33,34,37],{"title":5,"path":30,"stem":31},{"title":20,"path":35,"stem":36},"/docs/landing/regional/details","0.docs/1.landing/03.regional/2.details",{"title":24,"path":38,"stem":39},"/docs/landing/regional/technical","0.docs/1.landing/03.regional/4.technical","i-heroicons-globe-alt",{"title":42,"path":43,"stem":44,"children":45,"icon":50},"Multi-language","/docs/landing/multilang","0.docs/1.landing/04.multilang/1.index",[46,47],{"title":5,"path":43,"stem":44},{"title":20,"path":48,"stem":49},"/docs/landing/multilang/details","0.docs/1.landing/04.multilang/2.details","i-heroicons-language",{"title":52,"path":53,"stem":54,"children":55,"icon":63},"Blog","/docs/landing/blog","0.docs/1.landing/05.blog/1.index",[56,57,60],{"title":5,"path":53,"stem":54},{"title":20,"path":58,"stem":59},"/docs/landing/blog/details","0.docs/1.landing/05.blog/2.details",{"title":24,"path":61,"stem":62},"/docs/landing/blog/technical","0.docs/1.landing/05.blog/4.technical","i-heroicons-pencil-square",{"title":65,"path":66,"stem":67,"children":68,"icon":76},"Documentation","/docs/landing/docs","0.docs/1.landing/06.docs/1.index",[69,70,73],{"title":5,"path":66,"stem":67},{"title":20,"path":71,"stem":72},"/docs/landing/docs/details","0.docs/1.landing/06.docs/2.details",{"title":24,"path":74,"stem":75},"/docs/landing/docs/technical","0.docs/1.landing/06.docs/4.technical","i-heroicons-book-open",{"title":78,"path":79,"stem":80,"children":81,"icon":93},"Forms","/docs/landing/forms","0.docs/1.landing/07.forms/1.index",[82,83,86,90],{"title":5,"path":79,"stem":80},{"title":20,"path":84,"stem":85},"/docs/landing/forms/details","0.docs/1.landing/07.forms/2.details",{"title":87,"path":88,"stem":89},"Admin","/docs/landing/forms/admin","0.docs/1.landing/07.forms/3.admin",{"title":24,"path":91,"stem":92},"/docs/landing/forms/technical","0.docs/1.landing/07.forms/4.technical","i-heroicons-clipboard-document-list",{"title":95,"path":96,"stem":97,"children":98,"icon":109},"Email","/docs/landing/email","0.docs/1.landing/08.email/1.index",[99,100,103,106],{"title":5,"path":96,"stem":97},{"title":20,"path":101,"stem":102},"/docs/landing/email/details","0.docs/1.landing/08.email/2.details",{"title":87,"path":104,"stem":105},"/docs/landing/email/admin","0.docs/1.landing/08.email/3.admin",{"title":24,"path":107,"stem":108},"/docs/landing/email/technical","0.docs/1.landing/08.email/4.technical","i-heroicons-envelope",{"title":111,"path":112,"stem":113,"children":114,"icon":133},"Feedback Platform","/docs/landing/feedback","0.docs/1.landing/09.feedback/1.index",[115,116,119,122,125,129],{"title":5,"path":112,"stem":113},{"title":20,"path":117,"stem":118},"/docs/landing/feedback/details","0.docs/1.landing/09.feedback/2.details",{"title":87,"path":120,"stem":121},"/docs/landing/feedback/admin","0.docs/1.landing/09.feedback/3.admin",{"title":24,"path":123,"stem":124},"/docs/landing/feedback/technical","0.docs/1.landing/09.feedback/4.technical",{"title":126,"path":127,"stem":128},"Compare vs SaaS","/docs/landing/feedback/compare","0.docs/1.landing/09.feedback/5.compare",{"title":130,"path":131,"stem":132},"FAQ","/docs/landing/feedback/faq","0.docs/1.landing/09.feedback/6.faq","i-heroicons-chat-bubble-left-right",{"title":135,"path":136,"stem":137,"children":138,"icon":149},"Storage","/docs/landing/storage","0.docs/1.landing/10.storage/1.index",[139,140,143,146],{"title":5,"path":136,"stem":137},{"title":20,"path":141,"stem":142},"/docs/landing/storage/details","0.docs/1.landing/10.storage/2.details",{"title":87,"path":144,"stem":145},"/docs/landing/storage/admin","0.docs/1.landing/10.storage/3.admin",{"title":24,"path":147,"stem":148},"/docs/landing/storage/technical","0.docs/1.landing/10.storage/4.technical","i-heroicons-circle-stack",{"title":151,"path":152,"stem":153,"children":154,"icon":156},"Offline First","/docs/landing/offline-first","0.docs/1.landing/11.offline-first/1.index",[155],{"title":151,"path":152,"stem":153},"i-heroicons-users",{"title":158,"path":159,"stem":160,"children":161,"icon":156},"Yjs Sync","/docs/landing/yjs-sync","0.docs/1.landing/12.yjs-sync/1.index",[162,163,166,169],{"title":5,"path":159,"stem":160},{"title":20,"path":164,"stem":165},"/docs/landing/yjs-sync/details","0.docs/1.landing/12.yjs-sync/2.details",{"title":87,"path":167,"stem":168},"/docs/landing/yjs-sync/admin","0.docs/1.landing/12.yjs-sync/3.admin",{"title":24,"path":170,"stem":171},"/docs/landing/yjs-sync/technical","0.docs/1.landing/12.yjs-sync/4.technical",{"title":173,"path":174,"stem":175,"children":176,"badge":178,"icon":179},"Newsletter","/docs/landing/newsletter","0.docs/1.landing/13.newsletter/index",[177],{"title":173,"path":174,"stem":175,"badge":178},"Coming Soon","i-lucide-send",[181,184,202,298],{"title":5,"path":182,"stem":183},"/docs/nuxt-auto","0.docs/3.nuxt-auto/index",{"title":185,"path":186,"stem":187,"children":188,"page":201},"Getting Started","/docs/nuxt-auto/getting-started","0.docs/3.nuxt-auto/1.getting-started",[189,193,197],{"title":190,"path":191,"stem":192},"Introduction","/docs/nuxt-auto/getting-started/introduction","0.docs/3.nuxt-auto/1.getting-started/1.introduction",{"title":194,"path":195,"stem":196},"Installation","/docs/nuxt-auto/getting-started/installation","0.docs/3.nuxt-auto/1.getting-started/2.installation",{"title":198,"path":199,"stem":200},"Quick Start","/docs/nuxt-auto/getting-started/quick-start","0.docs/3.nuxt-auto/1.getting-started/3.quick-start",false,{"title":203,"path":204,"stem":205,"children":206,"page":201},"Auto API","/docs/nuxt-auto/auto-api","0.docs/3.nuxt-auto/2.auto-api",[207,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294],{"title":185,"path":208,"stem":209},"/docs/nuxt-auto/auto-api/getting-started","0.docs/3.nuxt-auto/2.auto-api/1.getting-started",{"title":211,"path":212,"stem":213},"Aggregations","/docs/nuxt-auto/auto-api/aggregations","0.docs/3.nuxt-auto/2.auto-api/10.aggregations",{"title":215,"path":216,"stem":217},"Lifecycle Hooks","/docs/nuxt-auto/auto-api/lifecycle-hooks","0.docs/3.nuxt-auto/2.auto-api/11.lifecycle-hooks",{"title":219,"path":220,"stem":221},"Many-to-Many (M2M) Relationships","/docs/nuxt-auto/auto-api/m2m-relationships","0.docs/3.nuxt-auto/2.auto-api/12.m2m-relationships",{"title":223,"path":224,"stem":225},"Plugin System","/docs/nuxt-auto/auto-api/plugin-system","0.docs/3.nuxt-auto/2.auto-api/13.plugin-system",{"title":227,"path":228,"stem":229},"Database Adapters","/docs/nuxt-auto/auto-api/database-adapters","0.docs/3.nuxt-auto/2.auto-api/14.database-adapters",{"title":231,"path":232,"stem":233},"Custom Endpoints","/docs/nuxt-auto/auto-api/custom-endpoints","0.docs/3.nuxt-auto/2.auto-api/15.custom-endpoints",{"title":235,"path":236,"stem":237},"Multi-Tenancy","/docs/nuxt-auto/auto-api/multi-tenancy","0.docs/3.nuxt-auto/2.auto-api/16.multi-tenancy",{"title":239,"path":240,"stem":241},"Validation","/docs/nuxt-auto/auto-api/validation","0.docs/3.nuxt-auto/2.auto-api/2.validation",{"title":243,"path":244,"stem":245},"Rate Limiting","/docs/nuxt-auto/auto-api/rate-limiting","0.docs/3.nuxt-auto/2.auto-api/20.rate-limiting",{"title":247,"path":248,"stem":249},"Request Metadata Plugin","/docs/nuxt-auto/auto-api/request-metadata","0.docs/3.nuxt-auto/2.auto-api/21.request-metadata",{"title":251,"path":252,"stem":253},"Plugin Catalog","/docs/nuxt-auto/auto-api/plugin-catalog","0.docs/3.nuxt-auto/2.auto-api/22.plugin-catalog",{"title":255,"path":256,"stem":257},"Handler Overrides","/docs/nuxt-auto/auto-api/handler-overrides","0.docs/3.nuxt-auto/2.auto-api/3.handler-overrides",{"title":259,"path":260,"stem":261},"Cloudflare D1","/docs/nuxt-auto/auto-api/cloudflare-d1","0.docs/3.nuxt-auto/2.auto-api/30.cloudflare-d1",{"title":263,"path":264,"stem":265},"SQLite to D1 Migration","/docs/nuxt-auto/auto-api/migration-sqlite-d1","0.docs/3.nuxt-auto/2.auto-api/31.migration-sqlite-d1",{"title":267,"path":268,"stem":269},"Frontend Composables","/docs/nuxt-auto/auto-api/frontend-composables","0.docs/3.nuxt-auto/2.auto-api/32.frontend-composables",{"title":271,"path":272,"stem":273},"Testing","/docs/nuxt-auto/auto-api/testing","0.docs/3.nuxt-auto/2.auto-api/33.testing",{"title":275,"path":276,"stem":277},"Pagination","/docs/nuxt-auto/auto-api/pagination","0.docs/3.nuxt-auto/2.auto-api/4.pagination",{"title":279,"path":280,"stem":281},"Soft Deletes","/docs/nuxt-auto/auto-api/soft-deletes","0.docs/3.nuxt-auto/2.auto-api/5.soft-deletes",{"title":283,"path":284,"stem":285},"Authentication & Authorization","/docs/nuxt-auto/auto-api/authentication-authorization","0.docs/3.nuxt-auto/2.auto-api/6.authentication-authorization",{"title":287,"path":288,"stem":289},"Better-Auth Integration","/docs/nuxt-auto/auto-api/better-auth","0.docs/3.nuxt-auto/2.auto-api/7.better-auth",{"title":291,"path":292,"stem":293},"Nested Relations","/docs/nuxt-auto/auto-api/nested-relationships","0.docs/3.nuxt-auto/2.auto-api/8.nested-relationships",{"title":295,"path":296,"stem":297},"Bulk Operations","/docs/nuxt-auto/auto-api/bulk-operations","0.docs/3.nuxt-auto/2.auto-api/9.bulk-operations",{"title":299,"path":300,"stem":301,"children":302,"page":201},"Auto Admin","/docs/nuxt-auto/auto-admin","0.docs/3.nuxt-auto/3.auto-admin",[303,306,310,314,318,322,326,330,334],{"title":185,"path":304,"stem":305},"/docs/nuxt-auto/auto-admin/getting-started","0.docs/3.nuxt-auto/3.auto-admin/1.getting-started",{"title":307,"path":308,"stem":309},"Configuration & Theming","/docs/nuxt-auto/auto-admin/configuration-theming","0.docs/3.nuxt-auto/3.auto-admin/2.configuration-theming",{"title":311,"path":312,"stem":313},"Resource Configuration","/docs/nuxt-auto/auto-admin/resource-configuration","0.docs/3.nuxt-auto/3.auto-admin/3.resource-configuration",{"title":315,"path":316,"stem":317},"Form Fields & Widgets","/docs/nuxt-auto/auto-admin/form-fields-widgets","0.docs/3.nuxt-auto/3.auto-admin/4.form-fields-widgets",{"title":319,"path":320,"stem":321},"Permissions","/docs/nuxt-auto/auto-admin/permissions","0.docs/3.nuxt-auto/3.auto-admin/5.permissions",{"title":323,"path":324,"stem":325},"Custom Pages","/docs/nuxt-auto/auto-admin/custom-pages","0.docs/3.nuxt-auto/3.auto-admin/6.custom-pages",{"title":327,"path":328,"stem":329},"M2M Relationships","/docs/nuxt-auto/auto-admin/m2m-relationships","0.docs/3.nuxt-auto/3.auto-admin/7.m2m-relationships",{"title":331,"path":332,"stem":333},"Custom Actions","/docs/nuxt-auto/auto-admin/custom-actions","0.docs/3.nuxt-auto/3.auto-admin/8.custom-actions",{"title":335,"path":336,"stem":337},"Composables","/docs/nuxt-auto/auto-admin/composables","0.docs/3.nuxt-auto/3.auto-admin/9.composables",[339,342,355,382,400,415,425],{"title":5,"path":340,"stem":341},"/docs/nuxt-protokit","0.docs/4.nuxt-protokit/index",{"title":185,"path":343,"stem":344,"children":345,"icon":354},"/docs/nuxt-protokit/getting-started","0.docs/4.nuxt-protokit/1.getting-started/1.index",[346,347,351],{"title":190,"path":343,"stem":344},{"title":348,"path":349,"stem":350},"Core Concepts","/docs/nuxt-protokit/getting-started/concepts","0.docs/4.nuxt-protokit/1.getting-started/2.concepts",{"title":198,"path":352,"stem":353},"/docs/nuxt-protokit/getting-started/quick-start","0.docs/4.nuxt-protokit/1.getting-started/3.quick-start","i-lucide-rocket",{"title":356,"path":357,"stem":358,"children":359,"icon":381},"Schemas","/docs/nuxt-protokit/schemas","0.docs/4.nuxt-protokit/2.schemas/1.index",[360,361,365,369,373,377],{"title":5,"path":357,"stem":358},{"title":362,"path":363,"stem":364},"Field Types","/docs/nuxt-protokit/schemas/fields","0.docs/4.nuxt-protokit/2.schemas/2.fields",{"title":366,"path":367,"stem":368},"Collections","/docs/nuxt-protokit/schemas/collections","0.docs/4.nuxt-protokit/2.schemas/3.collections",{"title":370,"path":371,"stem":372},"Derived & Computed","/docs/nuxt-protokit/schemas/derived-computed","0.docs/4.nuxt-protokit/2.schemas/4.derived-computed",{"title":374,"path":375,"stem":376},"Connections","/docs/nuxt-protokit/schemas/connections","0.docs/4.nuxt-protokit/2.schemas/5.connections",{"title":378,"path":379,"stem":380},"Visualizations & Layouts","/docs/nuxt-protokit/schemas/visualizations","0.docs/4.nuxt-protokit/2.schemas/6.visualizations","i-lucide-file-code",{"title":335,"path":383,"stem":384,"children":385,"icon":399},"/docs/nuxt-protokit/composables","0.docs/4.nuxt-protokit/3.composables/1.index",[386,387,391,395],{"title":5,"path":383,"stem":384},{"title":388,"path":389,"stem":390},"usePrototype","/docs/nuxt-protokit/composables/use-prototype","0.docs/4.nuxt-protokit/3.composables/2.use-prototype",{"title":392,"path":393,"stem":394},"useProtoDoc","/docs/nuxt-protokit/composables/use-proto-doc","0.docs/4.nuxt-protokit/3.composables/3.use-proto-doc",{"title":396,"path":397,"stem":398},"useProtoCollection","/docs/nuxt-protokit/composables/use-proto-collection","0.docs/4.nuxt-protokit/3.composables/4.use-proto-collection","i-lucide-layers",{"title":401,"path":402,"stem":403,"children":404,"icon":414},"Components","/docs/nuxt-protokit/components","0.docs/4.nuxt-protokit/4.components/1.index",[405,406,410],{"title":5,"path":402,"stem":403},{"title":407,"path":408,"stem":409},"ProtoTool","/docs/nuxt-protokit/components/proto-tool","0.docs/4.nuxt-protokit/4.components/2.proto-tool",{"title":411,"path":412,"stem":413},"ProtoCrudModal","/docs/nuxt-protokit/components/proto-crud-modal","0.docs/4.nuxt-protokit/4.components/3.proto-crud-modal","i-lucide-puzzle",{"title":151,"path":416,"stem":417,"children":418,"icon":424},"/docs/nuxt-protokit/offline-first","0.docs/4.nuxt-protokit/5.offline-first/1.index",[419,420],{"title":151,"path":416,"stem":417},{"title":421,"path":422,"stem":423},"Corruption Recovery","/docs/nuxt-protokit/offline-first/corruption-recovery","0.docs/4.nuxt-protokit/5.offline-first/2.corruption-recovery","i-lucide-wifi-off",{"title":426,"icon":427,"path":428,"stem":429,"children":430},"Advanced","i-lucide-graduation-cap","/docs/nuxt-protokit/advanced","0.docs/4.nuxt-protokit/6.advanced/1.index",[431,432,436,440],{"title":5,"path":428,"stem":429},{"title":433,"path":434,"stem":435},"Multi-Tool Apps","/docs/nuxt-protokit/advanced/building-a-toolkit","0.docs/4.nuxt-protokit/6.advanced/1.building-a-toolkit",{"title":437,"path":438,"stem":439},"Schema Patterns","/docs/nuxt-protokit/advanced/custom-schema-patterns","0.docs/4.nuxt-protokit/6.advanced/2.custom-schema-patterns",{"title":441,"path":442,"stem":443},"Custom Fields & Viz","/docs/nuxt-protokit/advanced/extensibility","0.docs/4.nuxt-protokit/6.advanced/3.extensibility",{"page":445,"fallbackPage":1180},{"id":446,"title":447,"body":448,"description":1178,"extension":1179,"links":1180,"meta":1181,"navigation":1182,"ogImage":1180,"path":107,"seo":1183,"stem":108,"__hash__":1184},"landing/0.docs/1.landing/08.email/4.technical.md","Email Technical Details",{"type":449,"value":450,"toc":1173},"minimark",[451,456,465,468,812,816,823,833,839,1025,1029,1036,1161,1169],[452,453,455],"h2",{"id":454},"configuration","Configuration",[457,458,459,460,464],"p",{},"The email module is configured in ",[461,462,463],"code",{},"nuxt.config.ts",". It supports multiple providers, queuing, rate limiting, and analytics.",[457,466,467],{},"Example configuration:",[469,470,475],"pre",{"className":471,"code":472,"language":473,"meta":474,"style":474},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  emailModule: {\n    defaultFrom: 'info@example.com',\n    defaultFromName: 'Your Company',\n    providers: {\n      primary: 'aws-ses', // Options: 'aws-ses', 'resend'\n      fallback: 'resend',\n    },\n    queue: {\n      enabled: true,\n      batchSize: 50,\n      cronSchedule: '* * * * *',\n      maxRetries: 3,\n    },\n    rateLimit: {\n      enabled: true,\n      awsSes: { perMinute: 14 },\n      resend: { perMinute: 10 },\n    },\n    analytics: {\n      enabled: true,\n      trackOpens: true,\n      trackClicks: true,\n    },\n  },\n})\n","typescript","",[461,476,477,501,514,535,552,562,584,601,607,617,631,645,662,675,680,690,701,723,742,747,757,768,780,792,797,803],{"__ignoreMap":474},[478,479,482,486,489,493,497],"span",{"class":480,"line":481},"line",1,[478,483,485],{"class":484},"s7zQu","export",[478,487,488],{"class":484}," default",[478,490,492],{"class":491},"s2Zo4"," defineNuxtConfig",[478,494,496],{"class":495},"sTEyZ","(",[478,498,500],{"class":499},"sMK4o","{\n",[478,502,504,508,511],{"class":480,"line":503},2,[478,505,507],{"class":506},"swJcz","  emailModule",[478,509,510],{"class":499},":",[478,512,513],{"class":499}," {\n",[478,515,517,520,522,525,529,532],{"class":480,"line":516},3,[478,518,519],{"class":506},"    defaultFrom",[478,521,510],{"class":499},[478,523,524],{"class":499}," '",[478,526,528],{"class":527},"sfazB","info@example.com",[478,530,531],{"class":499},"'",[478,533,534],{"class":499},",\n",[478,536,538,541,543,545,548,550],{"class":480,"line":537},4,[478,539,540],{"class":506},"    defaultFromName",[478,542,510],{"class":499},[478,544,524],{"class":499},[478,546,547],{"class":527},"Your Company",[478,549,531],{"class":499},[478,551,534],{"class":499},[478,553,555,558,560],{"class":480,"line":554},5,[478,556,557],{"class":506},"    providers",[478,559,510],{"class":499},[478,561,513],{"class":499},[478,563,565,568,570,572,575,577,580],{"class":480,"line":564},6,[478,566,567],{"class":506},"      primary",[478,569,510],{"class":499},[478,571,524],{"class":499},[478,573,574],{"class":527},"aws-ses",[478,576,531],{"class":499},[478,578,579],{"class":499},",",[478,581,583],{"class":582},"sHwdD"," // Options: 'aws-ses', 'resend'\n",[478,585,587,590,592,594,597,599],{"class":480,"line":586},7,[478,588,589],{"class":506},"      fallback",[478,591,510],{"class":499},[478,593,524],{"class":499},[478,595,596],{"class":527},"resend",[478,598,531],{"class":499},[478,600,534],{"class":499},[478,602,604],{"class":480,"line":603},8,[478,605,606],{"class":499},"    },\n",[478,608,610,613,615],{"class":480,"line":609},9,[478,611,612],{"class":506},"    queue",[478,614,510],{"class":499},[478,616,513],{"class":499},[478,618,620,623,625,629],{"class":480,"line":619},10,[478,621,622],{"class":506},"      enabled",[478,624,510],{"class":499},[478,626,628],{"class":627},"sfNiH"," true",[478,630,534],{"class":499},[478,632,634,637,639,643],{"class":480,"line":633},11,[478,635,636],{"class":506},"      batchSize",[478,638,510],{"class":499},[478,640,642],{"class":641},"sbssI"," 50",[478,644,534],{"class":499},[478,646,648,651,653,655,658,660],{"class":480,"line":647},12,[478,649,650],{"class":506},"      cronSchedule",[478,652,510],{"class":499},[478,654,524],{"class":499},[478,656,657],{"class":527},"* * * * *",[478,659,531],{"class":499},[478,661,534],{"class":499},[478,663,665,668,670,673],{"class":480,"line":664},13,[478,666,667],{"class":506},"      maxRetries",[478,669,510],{"class":499},[478,671,672],{"class":641}," 3",[478,674,534],{"class":499},[478,676,678],{"class":480,"line":677},14,[478,679,606],{"class":499},[478,681,683,686,688],{"class":480,"line":682},15,[478,684,685],{"class":506},"    rateLimit",[478,687,510],{"class":499},[478,689,513],{"class":499},[478,691,693,695,697,699],{"class":480,"line":692},16,[478,694,622],{"class":506},[478,696,510],{"class":499},[478,698,628],{"class":627},[478,700,534],{"class":499},[478,702,704,707,709,712,715,717,720],{"class":480,"line":703},17,[478,705,706],{"class":506},"      awsSes",[478,708,510],{"class":499},[478,710,711],{"class":499}," {",[478,713,714],{"class":506}," perMinute",[478,716,510],{"class":499},[478,718,719],{"class":641}," 14",[478,721,722],{"class":499}," },\n",[478,724,726,729,731,733,735,737,740],{"class":480,"line":725},18,[478,727,728],{"class":506},"      resend",[478,730,510],{"class":499},[478,732,711],{"class":499},[478,734,714],{"class":506},[478,736,510],{"class":499},[478,738,739],{"class":641}," 10",[478,741,722],{"class":499},[478,743,745],{"class":480,"line":744},19,[478,746,606],{"class":499},[478,748,750,753,755],{"class":480,"line":749},20,[478,751,752],{"class":506},"    analytics",[478,754,510],{"class":499},[478,756,513],{"class":499},[478,758,760,762,764,766],{"class":480,"line":759},21,[478,761,622],{"class":506},[478,763,510],{"class":499},[478,765,628],{"class":627},[478,767,534],{"class":499},[478,769,771,774,776,778],{"class":480,"line":770},22,[478,772,773],{"class":506},"      trackOpens",[478,775,510],{"class":499},[478,777,628],{"class":627},[478,779,534],{"class":499},[478,781,783,786,788,790],{"class":480,"line":782},23,[478,784,785],{"class":506},"      trackClicks",[478,787,510],{"class":499},[478,789,628],{"class":627},[478,791,534],{"class":499},[478,793,795],{"class":480,"line":794},24,[478,796,606],{"class":499},[478,798,800],{"class":480,"line":799},25,[478,801,802],{"class":499},"  },\n",[478,804,806,809],{"class":480,"line":805},26,[478,807,808],{"class":499},"}",[478,810,811],{"class":495},")\n",[452,813,815],{"id":814},"email-templates","Email Templates",[457,817,818,819,822],{},"Templates are Vue components located in the ",[461,820,821],{},"app/emails"," directory. This allows for dynamic content generation using Vue's template syntax.",[824,825,826],"blockquote",{},[457,827,828,832],{},[829,830,831],"strong",{},"Developer Note:"," Templates are created using code (Vue components), not a visual drag-and-drop editor. You can preview your coded templates in the admin panel, but creating or modifying the design requires developer intervention.",[457,834,835,836,510],{},"Example ",[461,837,838],{},"app/emails/welcome.vue",[469,840,844],{"className":841,"code":842,"language":843,"meta":474,"style":474},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003Ce-html>\n    \u003Ce-head />\n    \u003Ce-body>\n      \u003Ce-container>\n        \u003Ce-heading>Welcome, {{ name }}!\u003C/e-heading>\n        \u003Ce-text>Thanks for signing up.\u003C/e-text>\n      \u003C/e-container>\n    \u003C/e-body>\n  \u003C/e-html>\n\u003C/template>\n\n\u003Cscript setup>\ndefineProps({\n  name: String,\n})\n\u003C/script>\n","vue",[461,845,846,857,867,878,887,897,918,936,945,954,963,971,977,990,999,1011,1017],{"__ignoreMap":474},[478,847,848,851,854],{"class":480,"line":481},[478,849,850],{"class":499},"\u003C",[478,852,853],{"class":506},"template",[478,855,856],{"class":499},">\n",[478,858,859,862,865],{"class":480,"line":503},[478,860,861],{"class":499},"  \u003C",[478,863,864],{"class":506},"e-html",[478,866,856],{"class":499},[478,868,869,872,875],{"class":480,"line":516},[478,870,871],{"class":499},"    \u003C",[478,873,874],{"class":506},"e-head",[478,876,877],{"class":499}," />\n",[478,879,880,882,885],{"class":480,"line":537},[478,881,871],{"class":499},[478,883,884],{"class":506},"e-body",[478,886,856],{"class":499},[478,888,889,892,895],{"class":480,"line":554},[478,890,891],{"class":499},"      \u003C",[478,893,894],{"class":506},"e-container",[478,896,856],{"class":499},[478,898,899,902,905,908,911,914,916],{"class":480,"line":564},[478,900,901],{"class":499},"        \u003C",[478,903,904],{"class":506},"e-heading",[478,906,907],{"class":499},">",[478,909,910],{"class":495},"Welcome, {{ name }}!",[478,912,913],{"class":499},"\u003C/",[478,915,904],{"class":506},[478,917,856],{"class":499},[478,919,920,922,925,927,930,932,934],{"class":480,"line":586},[478,921,901],{"class":499},[478,923,924],{"class":506},"e-text",[478,926,907],{"class":499},[478,928,929],{"class":495},"Thanks for signing up.",[478,931,913],{"class":499},[478,933,924],{"class":506},[478,935,856],{"class":499},[478,937,938,941,943],{"class":480,"line":603},[478,939,940],{"class":499},"      \u003C/",[478,942,894],{"class":506},[478,944,856],{"class":499},[478,946,947,950,952],{"class":480,"line":609},[478,948,949],{"class":499},"    \u003C/",[478,951,884],{"class":506},[478,953,856],{"class":499},[478,955,956,959,961],{"class":480,"line":619},[478,957,958],{"class":499},"  \u003C/",[478,960,864],{"class":506},[478,962,856],{"class":499},[478,964,965,967,969],{"class":480,"line":633},[478,966,913],{"class":499},[478,968,853],{"class":506},[478,970,856],{"class":499},[478,972,973],{"class":480,"line":647},[478,974,976],{"emptyLinePlaceholder":975},true,"\n",[478,978,979,981,984,988],{"class":480,"line":664},[478,980,850],{"class":499},[478,982,983],{"class":506},"script",[478,985,987],{"class":986},"spNyl"," setup",[478,989,856],{"class":499},[478,991,992,995,997],{"class":480,"line":677},[478,993,994],{"class":491},"defineProps",[478,996,496],{"class":495},[478,998,500],{"class":499},[478,1000,1001,1004,1006,1009],{"class":480,"line":682},[478,1002,1003],{"class":506},"  name",[478,1005,510],{"class":499},[478,1007,1008],{"class":495}," String",[478,1010,534],{"class":499},[478,1012,1013,1015],{"class":480,"line":692},[478,1014,808],{"class":499},[478,1016,811],{"class":495},[478,1018,1019,1021,1023],{"class":480,"line":703},[478,1020,913],{"class":499},[478,1022,983],{"class":506},[478,1024,856],{"class":499},[452,1026,1028],{"id":1027},"programmatic-sending","Programmatic Sending",[457,1030,1031,1032,1035],{},"Emails are sent using the ",[461,1033,1034],{},"useEmail"," composable.",[469,1037,1039],{"className":471,"code":1038,"language":473,"meta":474,"style":474},"const { send } = useEmail()\n\nawait send({\n  to: 'user@example.com',\n  subject: 'Welcome!',\n  template: 'welcome',\n  props: {\n    name: 'John Doe',\n  },\n})\n",[461,1040,1041,1062,1066,1078,1094,1110,1126,1135,1151,1155],{"__ignoreMap":474},[478,1042,1043,1046,1048,1051,1053,1056,1059],{"class":480,"line":481},[478,1044,1045],{"class":986},"const",[478,1047,711],{"class":499},[478,1049,1050],{"class":495}," send ",[478,1052,808],{"class":499},[478,1054,1055],{"class":499}," =",[478,1057,1058],{"class":491}," useEmail",[478,1060,1061],{"class":495},"()\n",[478,1063,1064],{"class":480,"line":503},[478,1065,976],{"emptyLinePlaceholder":975},[478,1067,1068,1071,1074,1076],{"class":480,"line":516},[478,1069,1070],{"class":484},"await",[478,1072,1073],{"class":491}," send",[478,1075,496],{"class":495},[478,1077,500],{"class":499},[478,1079,1080,1083,1085,1087,1090,1092],{"class":480,"line":537},[478,1081,1082],{"class":506},"  to",[478,1084,510],{"class":499},[478,1086,524],{"class":499},[478,1088,1089],{"class":527},"user@example.com",[478,1091,531],{"class":499},[478,1093,534],{"class":499},[478,1095,1096,1099,1101,1103,1106,1108],{"class":480,"line":554},[478,1097,1098],{"class":506},"  subject",[478,1100,510],{"class":499},[478,1102,524],{"class":499},[478,1104,1105],{"class":527},"Welcome!",[478,1107,531],{"class":499},[478,1109,534],{"class":499},[478,1111,1112,1115,1117,1119,1122,1124],{"class":480,"line":564},[478,1113,1114],{"class":506},"  template",[478,1116,510],{"class":499},[478,1118,524],{"class":499},[478,1120,1121],{"class":527},"welcome",[478,1123,531],{"class":499},[478,1125,534],{"class":499},[478,1127,1128,1131,1133],{"class":480,"line":586},[478,1129,1130],{"class":506},"  props",[478,1132,510],{"class":499},[478,1134,513],{"class":499},[478,1136,1137,1140,1142,1144,1147,1149],{"class":480,"line":603},[478,1138,1139],{"class":506},"    name",[478,1141,510],{"class":499},[478,1143,524],{"class":499},[478,1145,1146],{"class":527},"John Doe",[478,1148,531],{"class":499},[478,1150,534],{"class":499},[478,1152,1153],{"class":480,"line":609},[478,1154,802],{"class":499},[478,1156,1157,1159],{"class":480,"line":619},[478,1158,808],{"class":499},[478,1160,811],{"class":495},[824,1162,1163],{},[457,1164,1165,1168],{},[829,1166,1167],{},"Note:"," The module handles the email delivery infrastructure (queues, providers, templates). Business logic triggers (e.g., \"Send welcome email on signup\") are implemented in your application's service layer or event handlers, utilizing this sending capability.",[1170,1171,1172],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":474,"searchDepth":503,"depth":503,"links":1174},[1175,1176,1177],{"id":454,"depth":503,"text":455},{"id":814,"depth":503,"text":815},{"id":1027,"depth":503,"text":1028},"This document provides technical details about the Email feature, primarily for developers or for advanced configuration after deployment.","md",null,{},{"title":24},{"title":447,"description":1178},"HGmYMNn7yYjxsK1t73x6IVKwEL5bC545OozIDRbrooo",[1186,1188],{"title":87,"path":104,"stem":105,"description":1187,"children":-1},"The email module includes a comprehensive set of admin features to manage your email templates, view logs, and monitor analytics.",{"title":5,"path":112,"stem":113,"description":1189,"children":-1},"Listening to your customers is the key to building a great product. Our Feedback Platform provides a dedicated space for your users to share ideas, report issues, and vote on what features they want next.",1772977474619]