Skip to main content

Send an email (Java 11+)

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SendEmail {
    public static void main(String[] args) throws Exception {
        String json = """
            {
                "from": "you@yourdomain.com",
                "to": ["user@example.com"],
                "subject": "Hello from Sendi",
                "html": "<p>It just works.</p>"
            }
            """;

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://app.usesendi.com/api/emails"))
            .header("Authorization", "Bearer snd_your_api_key")
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(json))
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}

With Spring Boot

import org.springframework.http.*;
import org.springframework.web.client.RestTemplate;

RestTemplate rest = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setBearerAuth("snd_your_api_key");
headers.setContentType(MediaType.APPLICATION_JSON);

String body = """
    {
        "from": "you@yourdomain.com",
        "to": ["user@example.com"],
        "subject": "Hello from Sendi",
        "html": "<p>It just works.</p>"
    }
    """;

HttpEntity<String> entity = new HttpEntity<>(body, headers);
ResponseEntity<String> response = rest.postForEntity(
    "https://app.usesendi.com/api/emails", entity, String.class
);

System.out.println(response.getBody());