web-dev-qa-db-ja.com

ルールを使用して電子メールの送信を遅らせ、スパマーと見なされないようにするにはどうすればよいですか?

別のユーザーをサブスクライブして、このユーザーの新しいコンテンツのメッセージを取得するユーザー用のルールを作成しました。

Events
  EVENT 
    After saving new content
Conditions
  ELEMENTS
    None
Actions
  ELEMENTS
    Fetch users who have flagged a user
      Parameter: Flag: subscribe_this_user, user: [node:author]
      Provides variables: subscribers (user)

    Loop
      Parameter: List: [user]
      List item: Current list item (liker)

     Send mail
       Parameter: To: [liker:mail], Subject: New event on [site:name]!, Message: New content [node:title] by..., From: [site:name

これらのメールを遅延して送信するにはどうすればよいですか?たくさんのメールを送るのはスパムだそうです。 Rules Schedulerについて聞きましたが、それを自分のルールに統合する方法がわかりません。

3
AlexEfremo

以下に、これを機能させる方法の概要を示します。

  1. 追加のフラグを導入して、これらの(新しい)ノードに、「メッセージを取得するために別のユーザーをサブスクライブしたユーザー」がこれらの(新しい)ノードに「フラグを立てる」ことを許可します(質問のとおり) )。そのフラグに「未解決のメール通知」というラベルを付けたとします(後でそのメールを送信するために何かがまだ発生する必要があることを示すため)。

  2. 次のように、既存のルールを適用します。

    • ルールアクション「send eMail」を削除します。
    • 既存のルールアクションの既存のリストに既にある各ユーザーの新しいフラグ(手順1から)を使用して、新しく保存されたコンテンツにフラグを付けます。
  3. Views および Views bulk operations(VBO) モジュールを使用して、フラグが付けられたすべてのノード(ステップ1の新しいフラグでフラグが付けられた)のVBOリストを作成し、フラグ付けの日付でソートします。 (最も古いものが最初)、結果を最初のXユーザーのみに制限します(ニーズに合うXの値を選択します)。

  4. 「VBOリストをロードする」(手順3から)新しいルールコンポーネントを作成し、そのルールにループを追加して、これらのルールアクションを実行します。

    • そのVBOリストの各ユーザーに電子メールを送信します(おそらく、既に持っているが、手順2で削除したルールアクションの「電子メールを送信」を再利用できます)。
    • (手順1のフラグを使用して)ノード(電子メールを作成したばかりのユーザー)のフラグを解除します。これは、電子メール通知が完了したことを示します(未解決ではなくなりました)。

    同じルールで、最後のルールアクションとして、同じルールの実行をY分または数時間以内に再スケジュールするアクションを追加します(ニーズに合ったYの値を選択します)。

  5. ルールUIを使用して、(ステップ4からの)その自己再スケジュールルールコンポーネントの最初の実行を手動でトリガーします。

上記のアプローチを使用すると、Y分(または数時間)ごとに、ルールはXユーザーに「要求どおり」通知します。

1
Pierre.Vriens

ここでは、メールの延期は間違った解決策だと思います。このような質問は、ホスティングがサイトプロファイルに適していない可能性があることを示しています。

サイトモデルの一部でない限り、配信を遅らせる回避策はユーザーエンゲージメントを示すだけです。 1日の間に、同じ数のメールを送信することになるため、スパマーとしてフラグが立てられる可能性が減ることはありません。

より適切に機能するのは、信頼性の高いメール配信メカニズムを確実に使用し、スパムの動作(過剰または不要な通知の送信など)を回避することです。

既存のホスティングで送信メールが制限されており、提供する制限よりも多くのメールを送信する必要がある場合は、ニーズに合った(将来の成功に対応できる)プロバイダーを見つけてください。市場には、選択可能なメールプロバイダーが多数あり、信頼性の高いセルフホストシステムのオプションもあります。

0
Chris Burgess