- Create an account.
- Verify your sending domain. This is required: Elastic Email only sends from verified domains.
- Create an API key under Settings → Manage API Keys.
- Send your first email, using an address on your verified domain as the sender:
curl -X POST https://api.elasticemail.com/v4/emails/transactional \
-H "X-ElasticEmail-ApiKey: $ELASTICEMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"Recipients": { "To": ["recipient@example.com"] },
"Content": {
"From": "you@your-domain.com",
"Subject": "Hello from Elastic Email",
"Body": [{ "ContentType": "HTML", "Content": "<p>It works!</p>" }]
}
}'Then choose an SDK for your language below. Each repository has a quick start and examples.
Every SDK wraps the same REST API v4, so the same endpoints and models are available in every language.
| Language | Repository | Install | Package |
|---|---|---|---|
| C# / .NET | elasticemail-csharp | dotnet add package ElasticEmail |
|
| PHP | elasticemail-php | composer require elasticemail/elasticemail-php |
|
| Python | elasticemail-python | pip install ElasticEmail |
|
| JavaScript / Node.js | elasticemail-js | npm install @elasticemail/elasticemail-client |
|
| TypeScript (axios) | elasticemail-ts-axios | npm install @elasticemail/elasticemail-client-ts-axios |
|
| Angular | elasticemail-ts-angular | npm install @elasticemail/elasticemail-client-ts-angular |
|
| Java | elasticemail-java | Maven / Gradle, see README | |
| Go | elasticemail-go | go get github.com/elasticemail/elasticemail-go/v4@latest |
|
| Ruby | elasticemail-ruby | gem install ElasticEmail |
|
| Rust | elasticemail-rust | cargo add ElasticEmail |
|
| Perl | elasticemail-perl | cpanm --installdeps . |
|
| Bash | elasticemail-bash | Clone the repo, see README |
| Project | What it does |
|---|---|
| elasticemail-cli | Command-line tool for sending email and campaigns and managing templates, contacts and domains. npm install -g elastic-email-cli |
| elasticemail-send-email-action | GitHub Action that sends email from a workflow, for example build reports or release notes. uses: ElasticEmail/elasticemail-send-email-action@v1 |
| elasticemail-mautic-mailer | Mautic plugin for sending campaigns, segment emails and transactional mail through Elastic Email. |
| elasticemail-examples | Working examples for transactional email, SMTP, webhooks, contacts and more. Start here if you're new. |
| Project | What it does |
|---|---|
| elasticemail-mcp-server | MCP server that lets AI agents (Claude, Cursor, VS Code and others) send email and work with your Elastic Email account. |
| elasticemail-skills | Agent skills that teach coding assistants the Elastic Email API. npx skills add ElasticEmail/elasticemail-skills |
Important
The fastest way to get help is the chat widget on elasticemail.com. Our support team can help with your account, sending, deliverability and API questions.
- 💬 Chat with support (preferred)
- 📚 API documentation
- 🐛 GitHub issues in the relevant repository, for bugs in that SDK or tool only
- ✉️ support@elasticemail.com
Pull requests are welcome in every public repository. Please read our contributing guide (or the repository's own CONTRIBUTING.md) and follow our Code of Conduct. To report a security vulnerability, follow our security policy and don't open a public issue.
Note
The ElasticEmail.WebApiClient-* repositories contain the legacy API v2 clients. They are archived and no longer maintained. New projects should use the v4 SDKs above.
