Supabase is an open-source backend-as-a-service platform that offers developers a seamless way to build and scale applications. It’s often described as an open-source alternative to Firebase, providing essential tools like a Postgres database, serverless APIs, real-time capabilities, and integrated authentication—all in one package.One of Supabase’s standout features is Supabase Auth, a robust authentication system that simplifies user management. With support for email-based login, social sign-ins (like Google, Facebook, and GitHub), and third-party OAuth providers, Supabase Auth helps developers add secure and scalable user authentication to their apps quickly.At the heart of email-based authentication workflows, such as account creation, password reset, or email verification, is the need to send transactional emails to users. This is where IndiePitcher can help.Even though Supabase Auth does support sending emails on your behalf with zero configuration, the offering is meant for development only and enforces a strict limit of 4 emails per hour (as of November 2024). For a production setup, you’ll want to authenticate with a 3rd-party SMTP server to send your user management-related emails.
Create a project on IndiePitcher and generate an API key
To start sending emails through IndiePitcher, navigate to Settings / Authentication in your Supabase project, and scroll down until you reach a section called SMTP Settings.Provide following credentials:
Supabase allows you to configure the sender name and email address for your emails.
These fields are currently ignored by IndiePitcher to prevent the SMTP proxy from being highjacked by spammers. Instead, the name and email address you configured in your IndiePitcher project settings will be used as the sender.
We recommend providing the following values to prevent unexpected behavior in case we do add support for custom name and from fields in the future:
Sender Name:indiepitcher-ignore-sender-replyto
Sender Email: anything, will be ignored
This is enough to start sending emails through IndiePitcher.
The easiest way to test your setup is to send an invitation email to sign up for your product.This will send an email to the recipient with a link to sign up for your product. The design will match the default Supabase template.
IndiePitcher makes it easy to create a good looking email using the markdown syntax, with few html tags mixed in when needed.
Navigate to Email Templates section, tap on Invite User, and replace the default content with the following markdown:
<indiepitcher-markdown>Hi there,You have been invited to create a user on [IndiePitcher]({{ .SiteURL }}).<button ip:no-track href="{{ .ConfirmationURL }}">Accept the invite</button><br/>Thanks,Your IndiePitcher team</indiepitcher-markdown>
Try to send yourself an invite again, and you should receive and email that looks something like this:
You can configure your logo, color scheme, and the content of the footer under your IndiePitcher project settings.
Congratulations, you have successfully integrated IndiePitcher with Supabase Auth! 🎉
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"IndiePitcher","colors":{"primary":"#836FFF","light":"#836FFF","dark":"#836FFF"},"favicon":"/favicon.svg","logo":{"light":"https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/logo/iplogo.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b0a88f34b5a35361f85f6bcc957573e9","dark":"https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/logo/iplogo.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b0a88f34b5a35361f85f6bcc957573e9"},"api":{"openapi":["api-reference/openapi.yml"]},"background":{"decoration":null,"color":{"light":"#F5F5F5","dark":"#090724"}},"navbar":{"links":[{"label":"Support","href":"mailto:petr@indiepitcher.com"}],"primary":{"type":"button","label":"Login","href":"https://app.indiepitcher.com"}},"footer":{"socials":{"twitter":"https://twitter.com/indiepitcher","discord":"https://discord.gg/zjCzhAqQZe","linkedin":"https://linkedin.com/company/indiepitcher","facebook":"https://www.facebook.com/profile.php?id=61555636693060"}},"integrations":{"plausible":{"domain":"docs.indiepitcher.com"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"indiepitcher","hasAudioNarration":false,"actualSubdomain":"indiepitcher","customDomains":["docs.indiepitcher.com"],"gitSource":{"type":"github","owner":"petrpavlik","repo":"indiepitcher-mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21c9428d90fac40fc25dea","collectionId":"9176b456-fa01-497a-befb-294513ffdec6","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21c9428d90fac40fc25dea:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":19},{"language":"default","tag":"API Reference","count":12},{"language":"default","tag":"Contacts","count":6},{"language":"default","tag":"Email","count":3},{"language":"default","tag":"Integrations","count":3},{"language":"default","tag":"Mailing Lists","count":2},{"language":"default","tag":"API Documentation","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"examples/smtp-supabase","slug":"/examples/smtp-supabase","pageMetadata":{"title":"Supabase","description":"Send emails via SMTP with IndiePitcher","href":"/examples/smtp-supabase"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Send emails via SMTP with IndiePitcher\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`about-supabase-auth`,children:`About Supabase Auth`}),`\n`,_jsx(_components.p,{children:`Supabase is an open-source backend-as-a-service platform that offers developers a seamless way to build and scale applications. It’s often described as an open-source alternative to Firebase, providing essential tools like a Postgres database, serverless APIs, real-time capabilities, and integrated authentication—all in one package.`}),`\n`,_jsx(_components.p,{children:`One of Supabase’s standout features is Supabase Auth, a robust authentication system that simplifies user management. With support for email-based login, social sign-ins (like Google, Facebook, and GitHub), and third-party OAuth providers, Supabase Auth helps developers add secure and scalable user authentication to their apps quickly.`}),`\n`,_jsx(_components.p,{children:`At the heart of email-based authentication workflows, such as account creation, password reset, or email verification, is the need to send transactional emails to users. This is where IndiePitcher can help.`}),`\n`,_jsx(_components.p,{children:`Even though Supabase Auth does support sending emails on your behalf with zero configuration, the offering is meant for development only and enforces a strict limit of 4 emails per hour (as of November 2024). For a production setup, you’ll want to authenticate with a 3rd-party SMTP server to send your user management-related emails.`}),`\n`,_jsx(Heading,{level:`2`,id:`integration-with-indiepitcher`,children:`Integration with IndiePitcher`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Prerequisites:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Create a project on Supabase`}),`\n`,_jsx(_components.li,{children:`Create a project on IndiePitcher and generate an API key`}),`\n`]}),`\n`,_jsx(_components.p,{children:`To start sending emails through IndiePitcher, navigate to Settings / Authentication in your Supabase project, and scroll down until you reach a section called SMTP Settings.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=0a5c6ffeb0709210400c015264ad41c0`,alt:`Supabase SMTP Settings`,\"data-og-width\":`3854`,width:`3854`,\"data-og-height\":`2304`,height:`2304`,\"data-path\":`images/supabase-smtp-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=9662e9baec7f2e9aec73d4b053900e93 280w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b4b271360419f6c5e3af149d0c8266ed 560w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=9d8a95a423b341f3cc3cda8719329327 840w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=8977bc4f3f576b022ada67462f3b9782 1100w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=5965d98e5755112d31ff0308053de794 1650w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-smtp-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=6952391082af7a03de11a8d102e91318 2500w`}),`\n`,_jsx(_components.p,{children:`Provide following credentials:`}),`\n`,_jsx(Heading,{level:`3`,id:`auth-credentials`,children:`Auth Credentials`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Host:`}),` `,_jsx(_components.code,{children:`smtp.indiepitcher.com`}),` `]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Port:`}),` `,_jsx(_components.code,{children:`587`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Username:`}),` `,_jsx(_components.code,{children:`indiepitcher`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Password:`}),` `,_jsx(_components.code,{children:`YOUR_API_KEY`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`sender-identity`,children:`Sender Identity`}),`\n`,_jsx(_components.p,{children:`Supabase allows you to configure the sender name and email address for your emails.\nThese fields are currently ignored by IndiePitcher to prevent the SMTP proxy from being highjacked by spammers. Instead, the name and email address you configured in your IndiePitcher project settings will be used as the sender.\nWe recommend providing the following values to prevent unexpected behavior in case we do add support for custom name and from fields in the future:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sender Name:`}),` `,_jsx(_components.code,{children:`indiepitcher-ignore-sender-replyto`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sender Email:`}),` anything, will be ignored`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`This is enough to start sending emails through IndiePitcher.`}),`\n`,_jsx(Heading,{level:`3`,id:`testing`,children:`Testing`}),`\n`,_jsx(_components.p,{children:`The easiest way to test your setup is to send an invitation email to sign up for your product.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=94ce09dba36de0dd287b682c180fed43`,alt:`Supabase SMTP Settings`,\"data-og-width\":`3444`,width:`3444`,\"data-og-height\":`1980`,height:`1980`,\"data-path\":`images/supabase-invite-user-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=56bd6286e0206b7e4084245bc3f64ad9 280w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=2c9bbb0212a39b323e695df0723ff7d6 560w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=6e5e681470a8fef84a8000695f7aa1c4 840w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=9a4b271e795536f1e85190f8334dbb8a 1100w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=eb55ec90bdefa7a45a56f61502ac5c8b 1650w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=f50a9b17156637f3e083aae8f46fb83c 2500w`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=e79fd8aef06212c217503a544575e8f8`,alt:`Supabase SMTP Settings`,\"data-og-width\":`3446`,width:`3446`,\"data-og-height\":`1972`,height:`1972`,\"data-path\":`images/supabase-invite-user-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b051f8c1cf0278187d9c069b18dc4a58 280w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=28b1db3e60472ae0c3fed483f1eb4926 560w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b4c1c2f1f43f65d3a26c845726628d0f 840w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=8677f0466ef9c9a07e1d24fbc8d02ba8 1100w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=3e3c8e59efc1f1dd83234cd56b65cc73 1650w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-user-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=2afe6de45dbfe33f71d05a284c6d3246 2500w`}),`\n`,_jsx(_components.p,{children:`This will send an email to the recipient with a link to sign up for your product. The design will match the default Supabase template.`}),`\n`,_jsx(Heading,{level:`2`,id:`email-styling-with-markdown`,children:`Email Styling with Markdown`}),`\n`,_jsx(_components.p,{children:`IndiePitcher makes it easy to create a good looking email using the markdown syntax, with few html tags mixed in when needed.\nNavigate to Email Templates section, tap on Invite User, and replace the default content with the following markdown:`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=7ea5fbf1ae675511f670033d03a00fe0`,alt:`Supabase SMTP Settings`,\"data-og-width\":`3444`,width:`3444`,\"data-og-height\":`1972`,height:`1972`,\"data-path\":`images/supabase-invite-email-template.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?w=280\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=e5e8d596873caa4aaad7b4b014b4d2b8 280w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?w=560\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=c5447c2d1c01e38d180a988d8e6ed49b 560w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?w=840\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=89b8d29793fc8b06313438b022464884 840w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=bb357ed10dcddaa2f7620d2cd1459ffa 1100w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=efe82b0132a66ac2efa764740a922883 1650w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-email-template.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=9047689b3c88bd2e9cbb3ab3fc73b9e3 2500w`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`indiepitcher-markdown`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Hi there,`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`You have been invited to create a user on [IndiePitcher]({{ .SiteURL }}).`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`button`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` ip:no-track`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` href`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ .ConfirmationURL }}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Accept the invite`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`button`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`br`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`/>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Thanks,`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Your IndiePitcher team`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`indiepitcher-markdown`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Try to send yourself an invite again, and you should receive and email that looks something like this:`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`You can configure your logo, color scheme, and the content of the footer under your IndiePitcher project settings.`})}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=5c89c2d4e710852bb0d5f99f9b0c33cc`,alt:`Supabase SMTP Settings`,\"data-og-width\":`1228`,width:`1228`,\"data-og-height\":`1036`,height:`1036`,\"data-path\":`images/supabase-invite-markdown-email.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?w=280\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=f72dd53fd7ab5b56f61c7c35323b031c 280w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?w=560\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=0e454fa6701ed202d603efb80a9d4d5d 560w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?w=840\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=05a93a78a9b35410cbb298aec6f1aed9 840w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=88204ac85f5a57d083ea66854071dac8 1100w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=7bddb62ca7916f922c00869a195ee44f 1650w, https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/images/supabase-invite-markdown-email.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=4e532b7adb5f3df741acc33e097fd515 2500w`}),`\n`,_jsx(_components.p,{children:`Congratulations, you have successfully integrated IndiePitcher with Supabase Auth! 🎉`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Supabase","description":"Send emails via SMTP with IndiePitcher","href":"/examples/smtp-supabase"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"About Supabase Auth","slug":"about-supabase-auth","depth":2,"children":[]},{"title":"Integration with IndiePitcher","slug":"integration-with-indiepitcher","depth":2,"children":[{"title":"Auth Credentials","slug":"auth-credentials","depth":3,"children":[]},{"title":"Sender Identity","slug":"sender-identity","depth":3,"children":[]},{"title":"Testing","slug":"testing","depth":3,"children":[]}]},{"title":"Email Styling with Markdown","slug":"email-styling-with-markdown","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"indiepitcher","siteName":"IndiePitcher","title":"Supabase - IndiePitcher","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:52:39.434Z","originalFileLocation":"examples/smtp-supabase.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send emails via SMTP with IndiePitcher\">\u003cmeta data-mint-head name=\"application-name\" content=\"IndiePitcher\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Supabase - IndiePitcher\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send emails via SMTP with IndiePitcher\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"IndiePitcher\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.indiepitcher.com/examples/smtp-supabase\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://indiepitcher.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Supabase\u0026amp;description=Send+emails+via+SMTP+with+IndiePitcher\u0026amp;theme=e15ee1dae9f3d0be7d722962\u0026amp;signature=f6b6b0534f112541d34f55df3a8fb22edf39054a4ba5736f6e55b17bc9b78c85\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Supabase - IndiePitcher\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send emails via SMTP with IndiePitcher\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://indiepitcher.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Supabase\u0026amp;description=Send+emails+via+SMTP+with+IndiePitcher\u0026amp;theme=e15ee1dae9f3d0be7d722962\u0026amp;signature=f6b6b0534f112541d34f55df3a8fb22edf39054a4ba5736f6e55b17bc9b78c85\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/indiepitcher/VouEa1tDVabv-Za1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"IndiePitcher\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#836FFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.indiepitcher.com/examples/smtp-supabase\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/examples/smtp-supabase.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.indiepitcher.com/#organization\",\"name\":\"IndiePitcher\",\"url\":\"https://docs.indiepitcher.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/indiepitcher/9ykXek5nppVsZnK7/logo/iplogo.png?fit=max\u0026auto=format\u0026n=9ykXek5nppVsZnK7\u0026q=85\u0026s=b0a88f34b5a35361f85f6bcc957573e9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.indiepitcher.com#website\",\"name\":\"IndiePitcher\",\"url\":\"https://docs.indiepitcher.com\",\"publisher\":{\"@id\":\"https://docs.indiepitcher.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.indiepitcher.com/examples/smtp-supabase#webpage\",\"url\":\"https://docs.indiepitcher.com/examples/smtp-supabase\",\"name\":\"Supabase\",\"description\":\"Send emails via SMTP with IndiePitcher\",\"dateModified\":\"2026-01-07T00:52:39.434Z\",\"isPartOf\":{\"@id\":\"https://docs.indiepitcher.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.indiepitcher.com/examples/smtp-supabase#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.indiepitcher.com/examples/smtp-supabase#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"IndiePitcher\",\"item\":\"https://docs.indiepitcher.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Supabase\",\"item\":\"https://docs.indiepitcher.com/examples/smtp-supabase\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.indiepitcher.com/examples/smtp-supabase#article\",\"headline\":\"Supabase\",\"name\":\"Supabase\",\"description\":\"Send emails via SMTP with IndiePitcher\",\"url\":\"https://docs.indiepitcher.com/examples/smtp-supabase\",\"mainEntityOfPage\":{\"@id\":\"https://docs.indiepitcher.com/examples/smtp-supabase#webpage\"},\"dateModified\":\"2026-01-07T00:52:39.434Z\",\"publisher\":{\"@id\":\"https://docs.indiepitcher.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.indiepitcher.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"IndiePitcher\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"IndiePitcher","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Documentation","pages":[{"title":"Start here","href":"/introduction"},{"title":"Contacts","href":"/contacts"},{"title":"Mailing Lists","href":"/mailing-lists"},{"title":"SMTP","href":"/smtp"},{"title":"API Keys","href":"/api-keys"},{"title":"Email Personalization","href":"/email-personalization"},{"title":"Sending Domains","href":"/custom-domains"},{"title":"SDKs","description":"Open source SDKs for IndiePitcher","href":"/sdks"}]},{"group":"Integrations","pages":[{"title":"Supabase","href":"/examples/smtp-supabase"},{"title":"Swift","description":"Use IndiePitcher with your server-side Swift apps","href":"/examples/swift"},{"title":"Node.js","href":"/examples/nodejs"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Supabase - IndiePitcher","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}