ドキュメント本文へスキップ
Java

インストール

Maven Central にあるアーティファクトが 1 つ、Java 17 以降、依存関係なし。

インストール

現在のリリースは 0.0.1 です。TypeScript SDK のすべてのメソッドに対応するメソッドがあり、どれかが欠けたり異なるリクエストを送ったりすると、パッケージのパリティチェックがビルドを失敗させます。

<dependency>    <groupId>uk.openemail</groupId>    <artifactId>openemail</artifactId>    <version>0.0.1</version></dependency>
FirstEmail.java
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 としています。

クライアントは不変で、スレッド間で安全に共有できます。アプリケーションの起動時に 1 つ作って使い続けてください。接続を再利用する HttpClient を 1 つ保持します。

クライアントはメールを送信しメールボックスを読み取れるワークスペース API キーを保持するため、置き場所はサーバー、ジョブ、または自分のマシンで動くツールです。キーは環境変数かシークレットストアに保管し、決してコードに書かないでください。