SMTP proxy server for IndiePitcher - enables sending transactional emails via SMTP protocol.
This is the source code for the IndiePitcher SMTP proxy that you can self-host. The official hosted version is available at smtp.indiepitcher.com and requires no setup.
This service provides an SMTP interface to IndiePitcher's email API, allowing integration with services like Supabase Auth, Firebase Auth, and other platforms that require SMTP for sending emails.
- Host:
smtp.indiepitcher.com - Port:
587 - Username:
indiepitcher - Password:
YOUR_API_KEY
Note: Set "enable secure connection" to false if asked. The connection will be upgraded to SSL/TLS using STARTTLS command on successful connection.
- HTML Email Support: Send custom HTML emails
- Markdown Support: Send emails using markdown syntax wrapped in
<indiepitcher-markdown>tags - Integration Ready: Works with popular authentication services (Supabase, Firebase, etc.)
- Dashboard Integration: All SMTP emails appear alongside REST API emails in the IndiePitcher dashboard
<indiepitcher-markdown>
Hi there,
You have been invited to create a user on [IndiePitcher](https://indiepitcher.com).
<button ip:no-track href="https://app.indiepitcher.com/register">Accept the invite</button>
<br/>
Thanks,
Your IndiePitcher team
</indiepitcher-markdown>To prevent abuse, the following limitations are in place:
- ✅ HTML emails only (plaintext not supported)
- ❌ Single recipient only (no multiple recipients)
- ❌ Cc/Bcc fields not supported
- ℹ️ From field is ignored - IndiePitcher uses the sender defined in your project's settings
To ensure your configured project sender is used:
- Sender name:
indiepitcher-ignore-sender-replyto - Sender email: anything (will be ignored)
- Reply to: anything (will be ignored)
- Password resets
- Welcome emails
- Account verification
- User-triggered notifications
The service has extensive checks, especially for free tier users. Contact support if you have a valid use case for bulk emails.
- Node.js 20+
- npm
npm installnpm run dev- Run development server with ts-nodenpm run build- Compile TypeScript to JavaScriptnpm start- Run production buildnpm test- Run Jest testsnpm run typecheck- Check TypeScript types
PORT- Server port (default: 8080)SENTRY_DSN- Sentry error tracking DSNMIXPANEL_TOKEN- Mixpanel analytics tokenprivkey- Base64 encoded SSL private keycert- Base64 encoded SSL certificate
For complete documentation, visit: https://docs.indiepitcher.com/smtp
This service is configured for deployment on Fly.io with automated GitHub Actions deployment.
ISC