ユーザー参照フィールドのあるノードがあります。このノードでは、関係のあるユーザーを無制限に選択できます。このノードを保存して、その参照フィールドで選択された各ユーザーに個別のメールが送信されるようにします(ルールを介して)、またはそれらすべてのユーザーがBCCされた単一のメール。現在、ルールの「宛先」フィールドで「node:field-friends-you-wish-to-invite:0:mail」が選択された「メール送信」アクションは、リストで選択された最初のユーザーにのみメールを送信します、他に何人のユーザーが選択されていても。
どうすればこれを達成できますか?
次のようなルールを作成する必要があります( Rules エクスポート形式):
{ "rules_send_email_to_selected_email_ids" : {
"LABEL" : "Send eMail to selected eMail IDs",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : {
"node_insert--article" : { "bundle" : "article" }
},
"DO" : [
{ "LOOP" : {
"USING" : { "list" : [ "node:field-email-addresses" ] },
"ITEM" : { "current_email_id" : "Current eMail ID" },
"DO" : [
{ "drupal_message" : { "message" : "An eMail about this new content with title \u0022[node:title]\u0022 and URL [node:url] will be delivered to [current-email-id:value]." } },
{ "mail" : {
"to" : "[current-email-id:value]",
"subject" : "You have new mail ...",
"message" : "New content was created with title [node:title] ... You can read about it at [node:url].",
"language" : [ "" ]
}
}
]
}
}
]
}
}
上記のルールの詳細:
field_email_addresses
(必要に応じてマシン名を変更してください)。各アイテム(= current_email_id
)、件名とメッセージを含むメールが作成されます。これには、作成されるノードのタイトルとURLも含まれます。注:これにより、選択した各メールIDに1つの個別のメールが送信されます(選択したすべてのメールIDに1つのメールを送信する方法はありません)。ルールUIを有効にしている場合は、コンテンツタイプのマシン名と電子メールIDのリストを含むフィールド名を適合させた後、上記のルールを自分のサイトにインポートできます。
ルールが期待どおりに機能することを確認したら、ノードが保存された後にメッセージを表示するルールアクションを削除することができます(drupal_message
)。
ビデオチュートリアル:同様のシナリオを示す リストとループ ビデオをご覧ください。
更新
電子メールIDを含むそのようなフィールドがなく、ユーザーIDへのエンティティ参照フィールドであるフィールドがある場合は、上記のルールのマイナーバリエーションを使用できます。の代わりに field_email_addresses
、ユーザーのリストをループ処理する必要があります(ユーザー参照フィールドで示されます。名前がfield_user_ids
)。そして、各「アイテム」(「current_userid
")、" to "フィールドではcurrent-userid:mail
処理中のユーザーのトークン。このようなルールは次のようになります( Rules エクスポート形式):
{ "rules_send_email_to_selected_user_ids" : {
"LABEL" : "Send eMail to selected user IDs",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : {
"node_insert--article" : { "bundle" : "article" }
},
"DO" : [
{ "LOOP" : {
"USING" : { "list" : [ "node:field-user-ids" ] },
"ITEM" : { "current_userid" : "Current user ID" },
"DO" : [
{ "drupal_message" : { "message" : "An eMail about this new content with title \u0022[node:title]\u0022 and URL [node:url] will be delivered to eMail ID [current-userid:mail]." } },
{ "mail" : {
"to" : "[current-userid:mail]",
"subject" : "You have new mail ...",
"message" : "New content was created with title [node:title] ... You can read about it at [node:url].",
"language" : [ "" ]
}
}
]
}
}
]
}
}