LoginSignup
2
0

More than 1 year has passed since last update.

blastengineのJava SDKを使って添付ファイル付きメールを送信する

Last updated at Posted at 2022-08-22

blastengine(ブラストエンジン)はシンプルに使える開発者向けメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先に届くようになります。

現在、Java向けに、blastengine SDKを開発しています。この記事では、その使い方を解説します。0.0.2で対応した添付ファイル付きメールの即時送信について解説します。

blastengineMania/blastengine-java: Java SDK for blastengine

ユーザ登録する

blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。

getting-started-4.jpg

送信元ドメインのSPFを設定する

送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。

txt @ v=spf1 include:spf.besender.jp ~all

APIキーを取得する

ログイン後、管理画面の右上にある設定メニューに移動します。

getting-started-6.jpg

そして設定の中で、APIキーを取得します。

getting-started-5.png

必要な情報について

SDKを使う上で必要なのは、先ほどのAPIキーとユーザIDになります。

SDKのインストール

SDKはGitHubのリポジトリにあるblastengine.jarを利用します。これをJavaプロジェクトの中(たとえば app/libs )に入れます。 app/libs は最初はないと思うので、フォルダを作成してください。

SDKのインポート

SDKのインポートについて記述します。たとえばGroovyベースのbuild.gradleの場合は次のようになります。

dependencies {
		// 略
    implementation(fileTree(dir: 'libs', include: ['blastengine.jar']))
}

これでインストール完了です。このjarファイルはGradle Shadow Pluginを使って依存ライブラリも含めて固めています。もし不要な場合には gradle build でjarファイルを生成してください。利用ライブラリは次の通りです。

  • org.apache.commons:commons-math3:3.6.1
  • com.fasterxml.jackson.core:jackson-databind:2.13.1
  • org.apache.httpcomponents:httpcore:4.4.15
  • org.apache.httpcomponents:httpclient:4.5.13
  • commons-codec:commons-codec:1.10
  • com.sun.mail:javax.mail:1.6.2
  • org.wso2.apache.httpcomponents:httpmime:4.3.1.wso2v1

インポート

Java SDKを利用するコードでSDKをインポートします。

import jp.blastengine.BEClient;
import jp.blastengine.BETransaction;
import jp.blastengine.BEMailAddress;
import jp.blastengine.BEError;

初期化

先ほどのAPIキーとユーザIDを使って初期化します。

BEClient.initialize("YOUR_USER_NAME", "YOUR_API_KEY");

トランザクションオブジェクトの作成

メールを即時配信する際にはトランザクションオブジェクトを使います。

BETransaction transaction = new BETransaction();

必要な情報をセットする

続けて、トランザクションオブジェクトに必要なオブジェクトをセットします。

transaction.subject ="Test mail from blastengine";
transaction.text = "Mail body";
transaction.html = "<h1>Hello, from blastengine</h1>";
BEMailAddress fromAddress = new BEMailAddress("info@example.com", "Admin");
transaction.setFrom(fromAddress);
transaction.addTo("user@example.jp");
// オプション(CC、BCCも使えます)
transaction.addCc("cc@example.jp");
transaction.addBcc("bcc@example.jp");

添付ファイルをセットする

添付ファイルはファイルのパスを文字列で指定します。

transaction.attachments.add("../README.md");
transaction.attachments.add("../LICENSE");

後は send メソッドで送信できます。

try {
	Integer deliveryId = transaction.send();
} catch (BEError e) {
	System.out.println(e.getMessage());
}

レスポンスはdeliveryId(配信ID)になります。

System.out.println(deliveryId);
// => 18

コードについて

コードはGitHubにアップしてあります。ライセンスはMIT Licenseになります。

blastengineMania/blastengine-java: Java SDK for blastengine

まとめ

blastengineには他にも一括メール配信を行ったり、添付ファイル付きのメール配信機能などもあります。これらの機能も随時実装していきますので、ぜひ皆さんのシステム開発に役立ててください。

エンジニア向けメール配信システム「ブラストエンジン」

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0