설치
Maven Central에 있는 아티팩트 하나, Java 17 이상, 의존성 없음.
설치
현재 릴리스는 0.0.1입니다. TypeScript SDK의 모든 메서드에 대응하는 메서드가 있으며, 하나라도 빠지거나 다른 요청을 보내면 패키지의 패리티 검사가 빌드를 실패시킵니다.
<dependency> <groupId>uk.openemail</groupId> <artifactId>openemail</artifactId> <version>0.0.1</version></dependency>import java.util.Map;import uk.openemail.Body;import uk.openemail.OpenEmail; public final class FirstEmail { public static void main(String[] args) { OpenEmail client = new OpenEmail(); Map<String, Object> email = client.emails().send(Body.of( "from", "Acme Billing <[email protected]>", "to", "[email protected]", "subject", "Your September invoice", "html", "<p>Invoice attached.</p>" )); System.out.println(email.get("id") + " " + email.get("status")); }}new OpenEmail()은 키를 OPENEMAIL_API_KEY에서 읽으므로 코드에 자격 증명이 들어가지 않습니다. 설정이 다른 곳에 있다면 OpenEmail.builder().apiKey(...)를 사용하세요.
요청 본문은 키가 API의 이름을 그대로 쓰는 Map<String, Object>입니다. 그래서 scheduledAt은 API 참조와 똑같이 씁니다. Body.of는 작성한 순서를 유지하고 null 값도 받는 본문을 만듭니다. 응답은 디코딩된 JSON인 Map<String, Object>이므로 email.get("id")로 ID를 읽습니다.
send가 반환되었다고 해서 메시지가 나간 것은 아닙니다. 예약 발송이나 취소 가능한 발송은 queued 또는 scheduled로 돌아온 뒤 나중에 확정됩니다. 호출이 반환되었다는 사실이 아니라 status를 읽으세요.
실행 환경
Java 17 이상에서, 어떤 JVM 언어로든 사용할 수 있습니다. jar에는 의존성이 없고, 모듈 경로의 애플리케이션을 위해 모듈 이름을 uk.openemail로 지정합니다.
클라이언트는 불변이며 스레드 간에 안전하게 공유할 수 있습니다. 애플리케이션이 시작될 때 하나를 만들어 계속 쓰세요. 연결을 재사용하는 HttpClient 하나를 가지고 있습니다.
클라이언트는 메일을 보내고 메일함을 읽을 수 있는 워크스페이스 API 키를 들고 있으므로, 서버나 작업, 또는 자신의 컴퓨터에서 실행되는 도구에 두어야 합니다. 키는 환경 변수나 시크릿 저장소에 보관하고, 절대 코드에 넣지 마세요.