Drupal8でRulesモジュールを用いてメール配信をしたい

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
kuronecozizi's picture

いつもお世話になっています。

Drupal8のRulesモジュールでユーザーにメールが自動的に配信されるように設定したいと考えています。
※Drupal Japan User Groupで何らかの投稿があると配信されるアレと同じです。

【実現したいこと】
① コンテンツが新規作成されたとき
② コメントが投稿されたとき     にユーザーにEメールが配信されるようにしたい。

【取り組んだこと】
① Reaction rulesタブの +Add reaction rule
② ラベル に Sending_notifications_create と入力
③ イベントへの反応
 で After saving new content を選択 →保存
④ +条件を追加 → Condition で エンティティーが新しい を選択 →継続
⑤ ENTITY の データセレクター
 で node.uid.entity.created を選択 →保存
⑥ +アクションを追加 → メール送信 を選択 →継続
⑦ SEND TO の データセレクター で @user.current_user_context:current_user を選択
  件名 の 値
 に 新しいコンテンツが作成されました と入力
  メッセージ の 値* に 新しいコンテンツが作成されましたのでご確認ください。 と入力 →保存

以上のように設定しましたが、ご指摘をいただけますと大変ありがたいです。
また、今後は、件名に投稿したユーザー名を入れられるようにしたり、メール本文に投稿された原文も入れられるようにしたいと考えています。

ご教授いただけると幸いです!
どうぞよろしくお願いいたします。

Comments

hgoto's picture

実際の結果はどのようなものになっているのでしょうか。例えば

  • Rules イベントが発生しない
  • Rules イベントは発生するが、条件が FALSE になる
  • Rules イベントは発生し条件も TRUE になるが、メールが送信されない

など、現在の状況によって修正すべき部分が変わってくるように思います。

そのあたりがわかっていない段階での推測にはなりますが・・・ Drupal 8 の Rules は現在 α 版なので、おそらくそれが原因ではないかと思います。

Drupal 8 の Rules は現在スポンサーやコントリビューターを積極的に募っていたりもするようなので、もしそのあたりについてご興味があれば次のサイトご覧になってみてください。

http://d8rules.org/

α 版の意味合いについては blauerberg さんの過去のコメントや説明ページなどがご参考になるものと思います。

kuronecozizi's picture

hgoto 様

先日はご返答いただきありがとうございました。
また、私からの返事が大変遅くなりまして申し訳ございませんでした。

前回ご質問させていただいた時とは異なる設定(以下)で昨日試してみたところ、
「メールを送信できません。問題が続く場合は、サイト管理者に連絡してください。」
   と
「コメントが投稿されました。」
というメッセージ(サイト上部に出る。色は赤)が表示されました。

ログを見ると、エラーの表示がありますが、具体的にどこがエラーなのか、
また、どんな種類のエラーなのか(500エラー等)の表示がない状態でした。

以下は今回の設定内容です。*************************

▼設定
ラベル*
    sendEmailNotifications
タグ
    notification, saving, comment
説明
    コメントされたらEmailでお知らせ
イベントへの反応*
    After saving new コメント    →保存

▼メール送信
SEND TO の 値*
    comment.entity_id.entity.uid.entity.mail.value
件名 の 値*
    あなたの記事にコメントされました
メッセージ の値*
件名;[commemnt:title] コメント内容:[comment:body]
REPLY TO の値
    (設定なし。空白)
言語 の値
    (設定なし。空白)    →保存
***********************************

Drupal8のRulesモジュールはα版ということで、
blauerberg様のコメント等を参考にさせていただきました。

実は、Coreのアップデートの時に、Rulesモジュールによるエラーで、
キャッシュクリア後にホワイトアウトしました。
そのことからも、α版とは「そういうことか」と分かりました
(別件で質問させていただきます)。

さて、メール送信できないのは、「SEND TO」の値の設定がおかしいのか、
α版だからなのか、よく分からない状況です。

どうぞよろしくお願いいたします。

hgoto's picture

詳しくご説明くださりありがとうございます。私こそ返信が遅くなってしまい申し訳ありません。

さて、メール送信できないのは、「SEND TO」の値の設定がおかしいのか、
α版だからなのか、よく分からない状況です。

断言はできかねますが、α版だからというのが大きいのではないでしょうか。私が試しに Rules の最新の dev 版を入れてメール送信アクションに関係する自動テストを走らせると失敗したので、メール送信アクションなどがまだ正しく実装されていない、あるいは壊れているということは十分ありうるのではないかと思います。

ちなみに、設定についてはおそらくその設定で大丈夫かと思います(例えば、アクション「 Show a message on the site 」などを使えば、対象とするメールアドレスが正しく取得できているかどうかが確認できるかと思いますので、よろしければお試しになってみてください)。

D8 Rules の開発状況を詳しくお知りになりたい場合は、開発ロードマップのイシューがあるのでそちらをご覧になるとよろしいかと思います。

https://www.drupal.org/node/2245015