blastengineはエンジニアフレンドリーなメール配信サービスです。APIとSMTPリレーの両方をサポートしており、手軽に素早くメール配信ができるようになっています。
今回はPHPでblastengineのAPIを簡単に使えるSDKを開発しましたので、使い方を紹介します。今回は大量の宛先に対して一括配送する、バルクメールの使い方です。
blastengine/blastengine - Packagist
インストール
インストールはcomposerで行ってください。
composer install blastengine/blastengine
インポート
autoloaderでファイルを読み込みます。
require __DIR__ . '/vendor/autoload.php';
初期化
Blastengineを初期化します。ユーザ名とAPIキーを使います。
// 初期化
Blastengine\Client::initialize($your_user_id, $your_api_key);
メールオブジェクトの用意
バルクメールは Blastengine\Bulk
を使います。まず、件名やテキスト本文などを指定します。
$bulk = new Blastengine\Bulk();
$bulk
->from('info@example.com')
->subject('Test subject')
->text_part('This is test email to __name__');
添付ファイルの追加
添付ファイルは attachment
メソッドで、ファイルのパスを指定してください。
// 添付ファイルがある場合
$bulk->attachment('./test.php');
$bulk->attachment('./image.png');
メールオブジェクトの保存
一度メールオブジェクトを保存します。
$bulk->save();
宛先の追加
宛先は to
メソッドで追加します。そして、登録したら update
メソッドを実行します。なお name
はメール本文で __name__
として指定されている箇所と差し替えられます。
$bulk
->to('user1@example.jp', ["name" => "User 1"])
->to('user2@example.jp', ["name" => "Name 2"])
->update();
大量のアドレスを登録する場合は、 blastengineのPHP SDKを使ってCSVで宛先を一括取り込みする #PHP - Qiita にあるCSVアップロードを利用してください。
$job = $bulk->import("./example.csv");
while ($job->finished() == false) {
sleep(1);
}
送信
送信は send
メソッドになります。返値は真偽値(常にtrue)になります。エラーがあると、例外処理に入ります。
try {
$bulk->send();
} catch ( Exception $ex ) {
// Error
}
まとめ
PHP SDKを使えばWebアプリケーションで簡単にメール送信できるようになります。ぜひblastengineのPHP SDKを活用ください!