0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

blastengine VBA SDKを使ってメール配信ログを検索する

Posted at

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

今回は今開発中のVBA用SDK(以下VBA SDK)を使って、送信したメールのログを検索する方法を解説します。

コードについて

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

blastengineMania/blastengine-vba: blastengineのVBA SDKです

ユーザ登録する

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

image.png

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

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

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

APIキーを取得する

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

getting-started-6.jpg

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

getting-started-5.png

SDKのインストール

SDKは リリースページでマクロ付きExcelファイルをダウンロードするか、リポジトリの内容をvbacでコンパイルしてください。

blastengineMania/blastengine-vba: blastengineのVBA SDKです

参照設定について

VBAエディタで、ツール > 参照設定 から、以下の参照設定を追加してください。

  • Microsoft ActiveX Data Objects 6.1 Library
  • Microsoft XML, v6.0

※ 将来的には、参照設定を不要にする予定です。

初期化

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

Dim client As new Blastengine
client.ApiKey = "YOUR_API_KEY"
client.UserId = "YOUR_USER_NAME"

配信ログの検索

配信ログ検索用のクラス

blastengine VBA SDKでメール検索を行う際には LogQuery クラスを利用してください。

検索条件

LogQueryクラスにある各種プロパティが利用できます。

Dim Query As LogQuery
Set Query = Client.LogQuery

Query.DeliveryStart = DateAdd("d", -7, Now) ' 7日前から
Query.Status(0) = SENT ' 送信済み
Query.Count = 20  ' 20件取得

検索実行

検索は Find メソッドを使います。

Dim Results() As Log
Results = Query.Find

返却された Results には Log クラスの配列が入っています。

Debug.Print Results(0).DeliveryId

さらに送信履歴を取得する

さらに時間ごとの配信履歴を取得する場合には、 Histories メソッドを使います。返却値は History クラスの配列です。これは各メールログごとに呼び出します。

Dim Histories() As History
Histories = Results(0).Histories

Debug.Print Histories(0).DeliveryTime ' 2021-11-11T00:00:00+09:00
Debug.Print Histories(0).Status ' SENT

まとめ

送信したメールの詳細を知りたい場合には LogQuery クラスを利用してください。さらに Histories メソッドを使えば、時系列ごとに配信履歴を取得できます。

VBA SDKは、Excelなどと組み合わせてメール配信ができるようになります。ぜひご利用ください。

blastengine API

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?