Skip to main content
The official Java client for sending emails via the SendSculpt Mailer API.
Requires Java 11+ and jackson-databind (for JSON serialization)

Installation

Include the Jackson dependency in your pom.xml.
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version>
</dependency>
Alternatively, import the SDK via JitPack, or pull com.sendsculpt classes directly into your project.

Quick Start

Initialize the client with your API Key.
import com.sendsculpt.SendEmailRequest;
import com.sendsculpt.SendEmailResponse;
import com.sendsculpt.SendSculptClient;

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        SendSculptClient client = new SendSculptClient("your-api-key");

        SendEmailRequest request = new SendEmailRequest();
        request.setTo(Arrays.asList("recipient@example.com"));
        request.setSubject("Welcome to SendSculpt! (Java Test)");
        request.setFromEmail("noreply@yourdomain.com");
        request.setBodyHtml("<h1>Hello!</h1><p>Test sent from Java 11 HttpRequest.</p>");

        try {
            SendEmailResponse response = client.sendEmail(request);
            System.out.println("Email sent successfully: " + response.getMessageId());
        } catch (Exception e) {
            System.err.println("Failed to send email: " + e.getMessage());
        }
    }
}

Advanced Usage

Send emails utilizing SendSculpt Templates and auto-encoded Attachments.
import java.util.HashMap;
import java.util.Map;
import com.sendsculpt.SendEmailRequest;
import com.sendsculpt.SendSculptClient;

public class TestTemplates {
    public static void main(String[] args) {
        SendSculptClient client = new SendSculptClient("your-api-key");

        SendEmailRequest request = new SendEmailRequest();
        request.setTo(Arrays.asList("john@doe.com"));
        request.setSubject("Your Purchase Invoice");
        request.setFromEmail("billing@yourdomain.com");
        request.setTemplateId("your-template-id");

        Map<String, Object> data = new HashMap<>();
        data.put("first_name", "John");
        data.put("amount", "49.99");
        request.setTemplateData(data);

        SendEmailRequest.Attachment attachment = new SendEmailRequest.Attachment();
        attachment.setFilename("invoice.pdf");
        attachment.setFilePath("/path/to/local/invoice.pdf"); // Auto-converted to Base64
        attachment.setMimeType("application/pdf");

        request.setAttachments(Arrays.asList(attachment));
        try {
            var response = client.sendEmail(request);
            System.out.println("Message ID: " + response.getMessageId());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
For local development, pass the base URL as the second argument: new SendSculptClient("your-api-key", "https://api.sendsculpt.com/api/v1").