選んだ人だけにメール配信
最終更新日:2023年02月22日
DB内のデータから会員一覧を取得し、選んだ人のみにメール配信を行うサンプルプログラムです。
本サンプルプログラムは内部呼出し(スパイラル内部で動作させる場合)を想定しておりますので、外部呼出しでは利用することはできません。
サンプルプログラム
<?php // <!-- SMP_DYNAMIC_PAGE DISPLAY_ERRORS=OFF 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();
?>
<!DOCTYPE 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='" . htmlspecialchars($member["id"], ENT_QUOTES) . "'>";
echo "<td>" . htmlspecialchars($member["id"], ENT_QUOTES) . "</td>\n";
echo "<td>" . htmlspecialchars($member["member_mail"], ENT_QUOTES) . "</td>\n";
echo "<td>" . htmlspecialchars($member["member_name"], ENT_QUOTES) . "</td>\n";
echo "</tr>\n";
}
?>
</table>
<input type="submit" value="メール送信">
</form>
</body>
</html>