[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation_en":3,"/docs/features/email-data":144},[4,16,91,117,127],{"title":5,"path":6,"stem":7,"children":8,"icon":15},"Getting Started","/docs/get-started","docs/1.get-started/1.index",[9,11],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Setup","/docs/get-started/setup","docs/1.get-started/2.setup","mage:fast-forward-fill",{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":90},"Features","ic:baseline-cable","/docs/features","docs/2.features",[22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86],{"title":23,"path":24,"stem":25},"Database","/docs/features/database","docs/2.features/01.database",{"title":27,"path":28,"stem":29},"Authentication","/docs/features/auth","docs/2.features/02.auth",{"title":31,"path":32,"stem":33},"Payments","/docs/features/payments","docs/2.features/03.payments",{"title":35,"path":36,"stem":37},"Admin Panel","/docs/features/admin-panel","docs/2.features/04.admin-panel",{"title":39,"path":40,"stem":41},"AI","/docs/features/ai","docs/2.features/05.ai",{"title":43,"path":44,"stem":45},"Customization","/docs/features/customization","docs/2.features/06.customization",{"title":47,"path":48,"stem":49},"Storage","/docs/features/storage","docs/2.features/07.storage",{"title":51,"path":52,"stem":53},"Email","/docs/features/email","docs/2.features/08.email",{"title":55,"path":56,"stem":57},"Languages","/docs/features/languages","docs/2.features/09.languages",{"title":59,"path":60,"stem":61},"SEO","/docs/features/seo","docs/2.features/10.seo",{"title":63,"path":64,"stem":65},"Blogs","/docs/features/blogs","docs/2.features/11.blogs",{"title":67,"path":68,"stem":69},"Documentation","/docs/features/documentation","docs/2.features/12.documentation",{"title":71,"path":72,"stem":73},"Cron Jobs","/docs/features/cron-jobs","docs/2.features/13.cron-jobs",{"title":75,"path":76,"stem":77},"Error Handling","/docs/features/error-handling","docs/2.features/14.error-handling",{"title":79,"path":80,"stem":81},"Analytics","/docs/features/analytics","docs/2.features/15.analytics",{"title":83,"path":84,"stem":85},"PWA","/docs/features/pwa","docs/2.features/15.pwa",{"title":87,"path":88,"stem":89},"Customer Support","/docs/features/customer-support","docs/2.features/16.customer-support",false,{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":90},"Tutorials","ic:baseline-library-books","/docs/tutorials","docs/3.tutorials",[97,101,105,109,113],{"title":98,"path":99,"stem":100},"Project Structure","/docs/tutorials/project-structure","docs/3.tutorials/1.project-structure",{"title":102,"path":103,"stem":104},"Page Routes","/docs/tutorials/page-routes","docs/3.tutorials/2.page-routes",{"title":106,"path":107,"stem":108},"API Calls","/docs/tutorials/api-calls","docs/3.tutorials/3.api-calls",{"title":110,"path":111,"stem":112},"State Management","/docs/tutorials/state-management","docs/3.tutorials/4.state-management",{"title":114,"path":115,"stem":116},"Legal Pages by GPT","/docs/tutorials/legal-pages-by-gpt","docs/3.tutorials/5.legal-pages-by-gpt",{"title":118,"icon":119,"path":120,"stem":121,"children":122,"page":90},"Formatting & Linting","ic:baseline-format-align-left","/docs/formatting-and-linting","docs/4.formatting-and-linting",[123],{"title":124,"path":125,"stem":126},"Overview","/docs/formatting-and-linting/overview","docs/4.formatting-and-linting/1.overview",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":90},"Deployment","ic:baseline-rocket-launch","/docs/deployment","docs/5.deployment",[133,136,140],{"title":124,"path":134,"stem":135},"/docs/deployment/overview","docs/5.deployment/1.overview",{"title":137,"path":138,"stem":139},"Vercel","/docs/deployment/vercel","docs/5.deployment/2.vercel",{"title":141,"path":142,"stem":143},"Cloudflare Workers","/docs/deployment/cloudflare","docs/5.deployment/3.cloudflare",{"page":145,"surround":474},{"id":146,"title":51,"body":147,"description":466,"extension":467,"head":468,"meta":469,"navigation":470,"ogImage":468,"path":52,"robots":468,"schemaOrg":468,"seo":471,"sitemap":472,"stem":53,"__hash__":473},"docs_en/docs/2.features/08.email.md",{"type":148,"value":149,"toc":461},"minimark",[150,155,180,183,288,292,457],[151,152,154],"h2",{"id":153},"tools","Tools",[156,157,158,171],"ul",{},[159,160,161,170],"li",{},[162,163,164],"strong",{},[165,166,169],"a",{"href":167,"target":168},"https://resend.com","_blank","Resend",": Handles sending transactional emails reliably.",[159,172,173,179],{},[162,174,175],{},[165,176,178],{"href":177,"target":168},"https://vuemail.net","Vue Email",": Creates reusable, styled email templates with Vue components.",[151,181,12],{"id":182},"setup",[184,185,186,192,199,214,217],"ol",{},[159,187,188,189,191],{},"Sign up at ",[165,190,169],{"href":167,"target":168},".",[159,193,194,195,198],{},"Go to API Keys to create an API Key. Fill in the name you like and keep other options as default. Then click add and copy the ",[162,196,197],{},"API Key"," .",[159,200,201,202],{},"Set environment variable:\n",[203,204,211],"pre",{"className":205,"code":207,"filename":208,"language":209,"meta":210},[206],"language-text","RESEND_API_KEY=\"your-resend-api-key\"\n",".env","text","",[212,213,207],"code",{"__ignoreMap":210},[159,215,216],{},"Go to Domains and add your sending domain (recommended: a subdomain, e.g., resend.yourdomain.com) and complete DNS verification.",[159,218,219,220],{},"Update your config:\n",[203,221,226],{"className":222,"code":223,"filename":224,"language":225,"meta":210,"style":210},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","email: {\n    senderName: \"Your Name from Which App\",\n    senderEmail: \"no-reply@resend.yourdomain.com\",\n},\n","shared/config.ts","ts",[212,227,228,244,265,282],{"__ignoreMap":210},[229,230,233,237,241],"span",{"class":231,"line":232},"line",1,[229,234,236],{"class":235},"sBMFI","email",[229,238,240],{"class":239},"sMK4o",":",[229,242,243],{"class":239}," {\n",[229,245,247,250,252,255,259,262],{"class":231,"line":246},2,[229,248,249],{"class":235},"    senderName",[229,251,240],{"class":239},[229,253,254],{"class":239}," \"",[229,256,258],{"class":257},"sfazB","Your Name from Which App",[229,260,261],{"class":239},"\"",[229,263,264],{"class":239},",\n",[229,266,268,271,273,275,278,280],{"class":231,"line":267},3,[229,269,270],{"class":235},"    senderEmail",[229,272,240],{"class":239},[229,274,254],{"class":239},[229,276,277],{"class":257},"no-reply@resend.yourdomain.com",[229,279,261],{"class":239},[229,281,264],{"class":239},[229,283,285],{"class":231,"line":284},4,[229,286,287],{"class":239},"},\n",[151,289,291],{"id":290},"usage","Usage",[156,293,294,378,418,437,449],{},[159,295,296,299,302,303,306,307,310,311,314,315],{},[162,297,298],{},"Send Pre-Configured Emails",[300,301],"br",{},"\nUse templates like ",[212,304,305],{},"forgotPassword",", ",[212,308,309],{},"magicLink",", or ",[212,312,313],{},"verifyEmail",". Example for a password reset email:",[203,316,320],{"className":317,"code":318,"language":319,"meta":210,"style":210},"language-server/api/sendResetEmail.ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { sendEmail } from '~~/server/services/email/send';\nawait sendEmail({\n    to: 'someone@email.com',\n    template: 'forgotPassword',\n    params: {\n    name: 'Someone',\n    resetUrl: 'https://your-site.com/reset-password?token=abc',\n    },\n    locale: 'en',\n});\n","server/api/sendResetEmail.ts",[212,321,322,327,332,337,342,348,354,360,366,372],{"__ignoreMap":210},[229,323,324],{"class":231,"line":232},[229,325,326],{},"import { sendEmail } from '~~/server/services/email/send';\n",[229,328,329],{"class":231,"line":246},[229,330,331],{},"await sendEmail({\n",[229,333,334],{"class":231,"line":267},[229,335,336],{},"    to: 'someone@email.com',\n",[229,338,339],{"class":231,"line":284},[229,340,341],{},"    template: 'forgotPassword',\n",[229,343,345],{"class":231,"line":344},5,[229,346,347],{},"    params: {\n",[229,349,351],{"class":231,"line":350},6,[229,352,353],{},"    name: 'Someone',\n",[229,355,357],{"class":231,"line":356},7,[229,358,359],{},"    resetUrl: 'https://your-site.com/reset-password?token=abc',\n",[229,361,363],{"class":231,"line":362},8,[229,364,365],{},"    },\n",[229,367,369],{"class":231,"line":368},9,[229,370,371],{},"    locale: 'en',\n",[229,373,375],{"class":231,"line":374},10,[229,376,377],{},"});\n",[159,379,380,240,383],{},[162,381,382],{},"Available Templates",[156,384,385,390,395,400,406,412],{},[159,386,387,389],{},[212,388,305],{},": For password reset emails.",[159,391,392,394],{},[212,393,309],{},": For passwordless login links.",[159,396,397,399],{},[212,398,313],{},": For email verification links.",[159,401,402,405],{},[212,403,404],{},"accountDeletion",": For account deletion confirmation email.",[159,407,408,411],{},[212,409,410],{},"waitlistConfirmation",": For joining the waitlist email.",[159,413,414,417],{},[212,415,416],{},"waitlistNotification",": For notify waitlist is over and app is live.",[159,419,420,423,425,426,429,430,433,434,191],{},[162,421,422],{},"Customize Templates",[300,424],{},"\nModify templates in ",[212,427,428],{},"server/services/email/templates/"," or create new ones by adding to ",[212,431,432],{},"index.ts"," and creating a Vue component in ",[212,435,436],{},"server/services/email/components/",[159,438,439,442,444,445,448],{},[162,440,441],{},"Styling",[300,443],{},"\nUpdate ",[212,446,447],{},"server/services/email/components/emailStyles.ts"," for custom email colors and fonts.",[159,450,451,454,456],{},[162,452,453],{},"Verify Emails",[300,455],{},"\nCheck sent emails in the Resend Dashboard.",[458,459,460],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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);}",{"title":210,"searchDepth":246,"depth":246,"links":462},[463,464,465],{"id":153,"depth":246,"text":154},{"id":182,"depth":246,"text":12},{"id":290,"depth":246,"text":291},"Set up email in your app to send transactional emails like password resets and verification links.","md",null,{},true,{"title":51,"description":466},{"loc":52},"YUSgbaWpBoibdjbAFznq3cOyk7AsST61i22Vg2h8sDk",[475,477],{"title":47,"path":48,"stem":49,"description":476,"children":-1},"Easily set up file storage in your app with Cloudflare R2 or S3-compatible services to handle uploads, downloads, deletions, and public file access.",{"title":55,"path":56,"stem":57,"description":478,"children":-1},"Enable multi-language support in your app using Nuxt I18n so your app can support users around the world"]