電子メールが送信される直前にアクセスチェック(「送信しない」リストクエリ)を実装しようとしています。メッセージを変更する方法はわかりますが、メッセージを停止するにはどうすればよいですか。
HOOK_mail ($key, &$message, $params) {
if (TRUE) {
// -- Stop Message From Being Sent Here -- //
}
}
break;
十分ですか?
次のような方法で、hook_mail_alter
の代わりに hook_mail
からアクセスチェックを実行できます(パラメーターに基づいてデフォルトメッセージを準備し、後で変更します)。
function HOOK_mail_alter(&$message) {
// can add additional check for particular mails here,
// by checking the value in $message['id']
if (TRUE) {
$message['send'] = FALSE;
}
}
注:変更を有効にするには、キャッシュをクリアする必要があります。