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を使ってエラー停止CSVを取得する

Posted at

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

今回は今開発中のVBA用SDK(以下VBA SDK)を使って、エラー停止CSVを取得する方法を解説します。

コードについて

コードは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"

エラー停止CSVの検索

エラー停止CSV検索用のクラス

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

検索条件

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

Dim Error As Error
Set Error = Client.Error
Error.ErrorStart = DateAdd("d", -3, Now) ' 3日前から

検索実行

検索は Start メソッドを使います。取得失敗した場合は False が返ります。

If Error.Start = False Then
		Debug.Print JsonConverter.ConvertToJson(Error.Error)
		Exit Sub
End If

取得処理は非同期で行われるため、取得が完了するまで待機する必要があります。

While Error.Job.Finished = False
		Application.WAIT (Now + TimeValue("0:00:01"))
Wend

CSVを取得する

処理が完了したら、CSVの内容を取得します。

Debug.Print Client.GetFile(Error.Job.ErrorFileUrl)

結果はCSVの内容です。

配信停止番号	登録日時	メールアドレス	応答コード	エラーメッセージ
46	2024/9/25 12:00	user@example.com	554(banned)	配信が禁止されたアドレスへの配信のためブロックしました

まとめ

エラーの内容を解析して、メールアドレスごとの対応ができます。また、エラー原因も分かりますので、必要に応じてデータを修正したり、対応を行ってください。

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?