プログラムで通知メールを送信または無効にする方法

現在、フォーラムで、特定のカテゴリに購読しているユーザーに対して通知メールをプログラムで送信または無効にする機能を実装しています。カテゴリには、「watching」、「tracking」、「watching first post」、「normal」、「muted」が含まれ、特にユーザーが公開前に承認が必要なトピックまたは投稿を公開する場合に適用されます。

プロセス中に、プラグインが使用するプログラム関数について、トピックまたは投稿の作成時、承認待ちのレビューキューにある間、および承認後に、ガイダンスを求めています。目標は、購読設定に基づいてユーザーにメールで通知することです。

このプロセス中に、どのユーザーがメールを受信し、どのユーザーが受信しないかを判断する方法を説明する関連リソース、または洞察を提供していただけますか?

どのような助けや提案でも大歓迎です。ご協力いただきありがとうございます!