1
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?

More than 1 year has passed since last update.

blastengineのPython SDKを使ってメールを一括配信する

Last updated at Posted at 2022-08-22

blastengineはエンジニアフレンドリーなメール配信サービスです。APIとSMTPリレーの両方をサポートしており、手軽に素早くメール配信ができるようになっています。

今回はPythonでblastengineのAPIを簡単に使えるSDKを開発しましたので、使い方を紹介します。現在はトランザクションメール(即時発信メール)とバルクメール(一括配信)をサポートしています。トランザクションメールの使い方はこちらの記事で紹介しています。今回は一括配信の使い方を解説します。

インストール

インストールはpipコマンドで行ってください。

pip3 install blastengine

インポート

クライアントとバルクをインポートします。

from blastengine.Client import Blastengine
from blastengine.Bulk import Bulk

初期化

Blastengineを初期化します。ユーザ名とAPIキーを使います。

# 初期化
Blastengine('USER_NAME', 'API_KEY')

メールオブジェクトの用意

バルクメールは Bulk を使います。件名やテキスト本文などを指定します。 __name__ となっているのは、配信先ごとに置き換えられる文字列になります。

# バルク(一括発送)メールオブジェクトの作成
bulk = Bulk()
# 情報を適用する
bulk.subject('メールの件名')
# __name__ は置き換えられる文字列
bulk.text_part('テキスト本文 __name__')
# 2つ目の引数(名前)はなくても大丈夫です
bulk.fromAddress('info@example.jp', '管理者')

添付ファイルの追加

添付ファイルは attachments メソッドで、ファイルのパスを指定してください。

# 添付ファイルがある場合
bulk.attachments('./test.py')
bulk.attachments('./image.png')

一度保存する

このメールテンプレートができた段階で一度保存します。

try:
	bulk.begin()
except Exception as e:
	# APIエラー
	print(e)

宛先を設定する

次に宛先を設定します。この時、置き換え文字列を設定できます。

bulk.to('user1@example.com', [{
	'__name__': 'User1'
}])
bulk.to('user2@example.com', [{
	'__name__': 'User2'
}])

宛先を設定したら、保存を行います。

bulk.update()

送信

送信は send メソッドになります。返値はデリバリーIDになります。このデリバリーIDで、メールの送信状況や配信停止などを行います。

try:
	# 送信
	delivery_id = bulk.send()
	print(delivery_id)
	print(bulk.delivery_id) # こちらも可
except Exception as e:
	# APIエラー
	print(e)

配信状況を知る

もし配信状況が知りたい場合には get メソッドを実行してください。これでメールの配信状況を取得します。すでに配信予約になっていると RESERVE といった文字列が返ってきます。

bulk.get()
print(bulk.status)
# => RESERVE

まとめ

Python SDKを使えばWebアプリケーションはもちろん、機械学習やIoTと組み合わせてblastengineを活用してもらえます。バルクメールは大量の宛先に対して一括配信を行うのに便利です。

ぜひblastengineのPython SDKを活用ください!

blastengine · PyPI

1
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
1
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?