* feat(python-sdk): add webhook verification and event handling Add webhook support to the Python SDK matching the JS SDK implementation: - Add Webhooks class with verify() and construct_event() methods - Implement HMAC-SHA256 signature verification with timing-safe comparison - Add timestamp validation with configurable tolerance (default 5 minutes) - Add comprehensive webhook event types (18 events: email, contact, domain, test) - Add WebhookVerificationError with typed error codes - Export webhook constants (headers) and types * fix(python-sdk): harden webhook parsing and typing Normalize invalid UTF-8 webhook payloads to INVALID_BODY errors so verify() safely returns false, and narrow base email webhook event types to avoid discriminated-union overlap. Add regression tests for both paths. * chore(python-sdk): bump package version to 0.2.9 * feat(python-sdk): add local webhook test example project Add a runnable Flask receiver and signed webhook sender under packages/python-sdk/example, and link it from the Python SDK README for local verification. --------- Co-authored-by: Claude <noreply@anthropic.com>
The Open Source sending infrastructure.
Learn more »
Discord
.
Website
·
Issues
About this project
As most of email products out there, useSend also uses Amazon SES under the hood to send emails. We provide an open and alternative way to send emails reliably and cheaply with a great dashboard. You can also use useSend manage contacts and send bulk emails(newsletter, product updates etc). We will take care of the subscriptions.
Currently we only support emails, but we plan to expand to other sending protocols like SMS, push notification and even whatsapp.
We are currently in beta!
Features
- Add domains
- Transactional Mails
- Rest API
- Dashboard (Delivered, opened, clicked, bounced)
- Marketing email
- SMTP support
- Schedule API
- Webhook support
- BYO AWS credentials
Community and Next Steps 🎯
We're currently working on opening useSend for public beta.
- Check out the first source code release in this repository and test it.
- Tell us what you think in the Discussions.
- Join the Discord server for any questions and getting to know to other community members.
- ⭐ the repository to help us raise awareness.
- Spread the word on Twitter.
- Fix or create issues, that are needed for the first production release.
Tech Stack
- Next.js - Framework
- Prisma - ORM
- Tailwind - CSS
- shadcn/ui - Component Library
- NextAuth.js - Authentication
- tRPC - API
- hono - Public API
- Redis - Queue
Email editor
Check out the editor code for here. Editor is possible only because of the amazing tools and libraries.
- jsx-email - converts editor content to html
- maily.to - useSend email editor is greatly inspired from maily.to
- tiptap - editor core
Local Development
Follow our detailed guide to run useSend locally
https://docs.usesend.com/get-started/local
Docker
We provide a Docker container for useSend, which is published on both DockerHub and GitHub Container Registry.
DockerHub: https://hub.docker.com/r/usesend/usesend
GitHub Container Registry: https://ghcr.io/usesend/usesend
You can pull the Docker image from either of these registries and run it with your preferred container hosting provider.
Please note that you will need to provide environment variables for connecting to the database, redis, aws and so forth.
For detailed instructions on how to configure and run the Docker container, please refer to the Docker Docker README in the docker directory.
Self Hosting
Checkout the self-hosting guide to learn how to run useSend on your own infrastructure.
Self Hosting with Railway
Railway provides the quickest way to spin up useSend. Read the Railway self-hosting guide or deploy directly:
Star History
Sponsors
We are grateful for the support of our sponsors.
Other Sponsors
