InBucket for local development in the Next.js Supabase Starter Kit
Learn how to use InBucket for local development in the Next.js Supabase Starter Kit.
When developing locally, Supabase uses InBucket to capture emails sent during development. This allows you to test email functionality without actually sending emails to real addresses.
Makerkit also uses InBucket for sending non-authentication emails, such as team invitations and account deletion confirmations.
What is InBucket?
InBucket is a disposable email service that captures all emails sent during local development. It's particularly useful for testing:
- Email verification flows
- Password reset emails
- Team invitations
- Notification emails
- Any other transactional emails
Accessing InBucket
When running Supabase locally, InBucket is automatically available at:
http://localhost:54324
You can view any captured emails by:
- Going to http://localhost:54324
- Finding your test email in the list of received messages
Common Use Cases
1. Email Verification
When testing user signup:
- Create a new account using any email address
- Go to InBucket at http://localhost:54324
- Find the verification email
- Click the verification link or copy the verification code
2. Password Reset
To test password reset flows:
- Request a password reset using any email
- Check InBucket for the reset email
- Use the reset link or code to complete the process
3. Team Invitations
When testing team invites:
- Send an invitation to any email address
- Check InBucket for the invitation email
- Use the invitation link to accept
InBucket vs Production Emails
Remember that InBucket is for development only. In production:
- Configure a proper email service provider (Resend, SendGrid, etc.)
- Set up proper email authentication (SPF, DKIM)
- Use production-grade SMTP settings
- Monitor email deliverability
Using a different email provider during local development
If you want to use a different email provider, switch the environment variables at apps/web/.env.development
:
EMAIL_SENDER=test@makerkit.devEMAIL_PORT=EMAIL_HOST=EMAIL_TLS=EMAIL_USER=EMAIL_PASSWORD=
NB: Supabase authentication emails will still be sent using InBucket.
Conclusion
InBucket is a valuable tool for local development, allowing you to:
- Test email flows without sending real emails
- Iterate quickly on email templates
- Debug email-related issues
- Develop with confidence
Remember to switch to a proper email provider when deploying to production!