Drupal 7.に英語と日本語のブログがあります。7.このブログは、組み込みのブログモジュールではなく、カスタムコンテンツタイプとビューを使用して作成しました。
言語ごとにRSSフィード(ビューで作成)があります。ユーザーがサブスクライブして、コンテンツタイプ「ブログ」に対するすべての英語の更新またはコンテンツタイプ「ブログ」に対するすべての日本語の更新を受け取ることを許可します。 (私はほとんどのユーザーがどちらか一方の言語だけを望んでいると思います。ユーザーが本当に両方の言語を望んでいるなら、私はそれらに2回サブスクライブさせてもかまいません。)
RSSフィードでFeedburnerを使用することを検討しましたが、FeedburnerモジュールはD7用に更新されておらず、外部サービスに依存したくありません。 (モジュールなしでFeedburnerをセットアップしようとすると、サポートリンクで検証できるにもかかわらず、RSSフィードが存在しないことがわかりました。)
Simplenews モジュールも確認しましたが、そのモジュールでは各ニュースレターの投稿を個別に作成する必要があるようです。ブログに更新を投稿したときに、購読しているユーザーに自動的に電子メールを送信したいのです。
これを行う方法はたくさんあると思いますが、「メールヘルパー」タイプのモジュールが多すぎるため、どこから始めればよいか途方に暮れています。
私の要件を要約するには、次のことを行います。
別の代替オプションは、Google Feedburnerを使用してユーザーに代わってメールを送信することです。
詳細は オンラインのドキュメント を参照してください。
Googleフィードバーナーがフィードを「焼き付け」たら、サインアップフォームの埋め込みコードを取得して、ユーザーがメールアラートを受信できるようにします。これがあなたのニーズに非常によく合う理由は、すべてが高品質のRSSフィードソースを使用することに関係しており、Viewsがこれを生成できるからです。唯一の真の問題は、RSS(したがって電子メール)のみでコンテンツ全体を表示するか、ティーザーを表示するかです。
これが上記のニュースレター/トリガーオプションよりも優れているもう1つの利点は、毎日のダイジェストのみを送信するため、書き込みが行われたRSSフィードごとに1日あたり最大1つの電子メールが送信されることです。これにより、アクティブな日があるときに忠実なサブスクライバーにスパムを送信するのを防ぐことができます。
Googleフィードバーナーの機能は次のとおりです(上記のドキュメントから直接):
サブスクリプション管理
通信設定
メールブランディング
配送オプション
これを設定する方法のサンプルチュートリアル ここにあります 。
これは簡単に入手できます。いくつかの手順を説明します。
それを達成するには、実際には少なくとも2つの方法があります。
A.トリガーの使用(コアモジュール)
まず、コアモジュールのトリガーをアクティブにします。これにより、基本的なトリガー(この場合はUPDATEトリガー)と、条件が満たされたときに実行するアクションが提供されます。
[管理]> [構成]> [アクション]に移動し、[高度なアクションを作成]を選択して、[電子メールを送信]を選択します。受信者フィールドでは、登録済みのすべてのユーザーと一致するように、simplenewsモジュールによって提供される適切なトークンを選択する必要があります。 (トークンモジュールもインストールされていることを確認してください)
[管理]> [構造]> [トリガー]に移動し、[Node]タブをクリックします。3番目を選択します:トリガー:更新されたコンテンツの保存後。
さらに制御が必要な場合は、フックを実装します
function YOURMODULE_trigger_info_alter(&$ triggers){//ここでdpm($ triggers)を使用して、更新トリガーの場所を確認し、変更を行います。 }?>
B.ルールの使用(contribモジュール)基本的に同じこと。行き詰まった場合は、このブログの同様の問題で次の手順に従ってください。 http://adellefrank.com/blog/how-to-email-notifications-comments-drupal7
Simplenews モジュールは必要なことすべてを行います。各ブログ投稿が自動的にニュースレターになり、購読者に送信されるように設定できます。 Simplenews設定で、コンテンツタイプBlogをニュースレターソースとして選択します。
これを行うには:
プログラムで行う場合は、 drupal_mail($ module、$ key、$ to、$ language、$ params = array()、$ from = NULL、$ send = TRUE) を参照してください。
ノードが更新されると、フック hook_node_update($ node) が起動されます。独自の作成済みメール形式を作成する場合は、 hook_mail($ key、&$ message、$ params) を使用します。したがって、最初に2つのフックを記述して、最初にhook_node_updateとhook_mailを記述する必要があります。 hook_node_update内で、hook_mailを呼び出すdrupal_mail関数を記述する必要があります。
サンドボックスモジュールを使用できます Total Subscription
このモジュールはdrupalプロジェクトキューにあります。リンクは次のとおりです:- [〜#〜] link [〜#〜]
私はそれがあなたが必要とする機能を与えると思います。