ver.1サポートサイト

選んだ人だけにメール配信

最終更新日:2019年07月31日

DB内のデータから会員一覧を取得し、選んだ人のみにメール配信を行うサンプルプログラムです。
本サンプルプログラムは内部呼出し(スパイラル内部で動作させる場合)を想定しておりますので外部呼出しでは利用することはできません。

関連するページ
スパイラルAPIとは
スパイラルAPIの仕様
アカウント内API

サンプルプログラム

<?php // <!-- SMP_DYNAMIC_PAGE DISPLAY_ERRORS=ON NAME=TEST --> ?>
<?php
//APIトークンを指定します
//アカウント内APIを利用する場合はアカウント内APIの設定を「ON」に変更いただき、
//「$SPIRAL->setApiTokenTitle("");」の記述を削除ください。
$SPIRAL->setApiTokenTitle("");
// DBから会員一覧を取得する
$memberdb = $SPIRAL->getDataBase("study_member");
$memberdb->addSelectFields("id", "member_mail", "member_name");
$memberSearchResult = $memberdb->doSelect();
?>
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
メールを送信したい方を選択して、送信ボタンを押してください。
<form action="" method="post">
<table border="1">
<tr>
<th>送信</th>
<th>id</th>
<th>メールアドレス</th>
<th>名前</th>
</tr>
<?php
// メール送信先一覧
$sendAddrs = $_REQUEST["send"];
// 送信先が1件の場合は配列にならないので配列にする
if ($sendAddrs = null && is_array($sendAddrs)) {
$sendAddrs = array($_REQUEST["send"]);
}
// 送信
if ($sendAddrs = null && count($sendAddrs) > 0) {
// スパイラルAPIサーバと通信するインスタンスを作成します。
$api_communicator = $SPIRAL->getSpiralApiCommunicator();
$api_communicator->setNoSsl();
// メールを配信するリクエストを作成します。
$request = new SpiralApiRequest();
$request->put("rule_id", 29);
$request->put("ids" , $sendAddrs);
$response = $api_communicator->request("deliver_express2", "sampling", $request);
if ($response->isSuccess()) {
echo "送信しました。<br>\n";
} else {
echo "送信に失敗しました。<br>\n";
}
}
?>
<?php
// 会員一覧表示
$memberCount = $memberSearchResult["count"];
$memberList = $memberSearchResult["data"];
foreach ($memberList as $member) {
echo "<tr>\n";
echo "<td> <input type='checkbox' name='send' value='" . $member["id"] . "'>";
echo "<td>" . $member["id"] . "</td>\n";
echo "<td>" . $member["member_mail"] . "</td>\n";
echo "<td>" . $member["member_name"] . "</td>\n";
echo "</tr>\n";
}
?>
</table>
<input type="submit" value="メール送信">
</form>
</body>
</html>