---
title: Quickstart · Java
description: Send transactional email with Envimaily in Java. Copy-paste HTTP example.
locale: en
---

# Quickstart · Java

Send transactional email through Envimaily's HTTP API (`https://api.envimaily.com`) with **Java**.

## 1. Account & key

1. Sign up at [https://app.envimaily.com/dev/signup](https://app.envimaily.com/dev/signup)
2. Create an `em_` key under **API keys**
3. Copy the token once — it is not shown again

## 2. Example

```java
var client = HttpClient.newHttpClient();
var body = """
  {"from":"onboarding@envimaily.com","to":["you@example.com"],
   "subject":"Hello from Java","html":"<p>It works.</p>"}
  """;
var req = HttpRequest.newBuilder()
  .uri(URI.create("https://api.envimaily.com/v1/emails"))
  .header("Authorization", "Bearer em_YOUR_KEY")
  .header("Content-Type", "application/json")
  .POST(HttpRequest.BodyPublishers.ofString(body))
  .build();
var res = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());
```

## 3. Without a verified domain

Use the shared test sender `onboarding@envimaily.com` and send only to the account owner email. After SPF/DKIM verification, send from your domain.

## 4. Limits

| Plan | Month | Day |
|------|-------|-----|
| Dev Free | 1,000 | 100 |
| Dev Pro | 50,000 | 5,000 |

Next: [Domains & DNS](/docs/domains) · [Emails API](/docs/api/emails) · [Migrate from Resend](/docs/migrate/resend)
