Discourse で読み取り専用メーリングリストをミラーリングする

:bookmark: このガイドでは、Discourse を使用してメーリングリストの読み取り専用ミラーを作成する方法を説明します。必要なサイト設定、カテゴリ構成、および購読プロセスについて説明します。

:person_raising_hand: 必要なユーザーレベル: 管理者

Discourse は、登録ユーザーがその機能のほとんどを利用できるようにしながら、メーリングリストのアーカイブとして機能することができます。このガイドでは、独自のメーリングリストミラーを設定する手順を説明します。

:eyes: Ruby-Talk メーリングリストミラー で実際に動作している様子をご覧ください。

概要

  • Eメール処理のためのサイト設定の構成
  • メーリングリスト用のカテゴリの作成または変更
  • メーリングリストへの購読
  • ミラーリングプロセスの仕組みの理解

以下のガイドでは、プレースホルダーとして 2 つのメールアドレスを使用します。これらを実際のメールアドレスに置き換える必要があります。

discourse@example.com は、Discourse への着信メールのアドレスです。
mailing-list@foo.test は、メーリングリストの投稿アドレスです[1]

サイト設定の構成

  1. 受信メールを事前に構成するホスティングプランを利用していない場合は、Discourse のメールアドレスに関連付けられたアカウント(例: discourse@example.com)に対して、POP3 ポーリングまたは API による手動ポーリングを設定します。

  2. 次のサイト設定を有効にします。

    • email_in: 受信メールを許可する
    • enable_staged_users: ステージング済みユーザーを有効にする(ミラーリングプロセスに不可欠)
  3. オプション設定:

    • authorized_extensions* に設定するか、必要な添付ファイルタイプを許可するために特定のファイル拡張子を追加します。
    • always_show_trimmed_content を有効にして、すべてのユーザーがトリミングされたコンテンツ(image ボタンの背後に隠されています)を表示できるようにします。
    • 名前表示の設定については、display_name_on_posts を有効にし、prioritize_username_in_ux を無効にします。

カテゴリの作成または変更

  1. メーリングリストの投稿用に新しいカテゴリを作成するか、既存のカテゴリを変更します。

  2. カテゴリのアクセス許可を設定します。

    • 「セキュリティ」タブをクリックし、「アクセス許可の編集」をクリックします。
    • 既存のアクセス許可をすべて削除します。
    • 「everyone」に「表示」アクセス許可を追加します。

完了すると、次のようになります。

  1. カテゴリ設定を構成します。

    • 「設定」タブをクリックします。
    • 「アカウントを持たない匿名ユーザーからのメールを受け入れる」を有効にします。
    • 「カスタム受信メールアドレス」をメーリングリストのメールアドレス(例: mailing-list@foo.test)に設定します。
    • 「カテゴリがメーリングリストをミラーリングする」を有効にします。
  2. カテゴリ設定を保存します。

メーリングリストへの購読

  1. Discourse のメールアドレス(例: discourse@example.com)を使用して、メーリングリストに購読します。

  2. メーリングリストに Web インターフェイスがある場合は、次の設定が有効になっていることを確認します。

    • メール配信が有効になっている
    • ダイジェストモードが無効になっている
    • パスワードリマインダーメールが無効になっている

Mailman 2 の場合は、次のように設定されていることを確認します。

  • 「メール配信」が「有効」
  • 「ダイジェストモードの設定」が「オフ」
  • 「このリストのパスワードリマインダーメールを受け取りますか?」が「いいえ」に設定されている

仕組み

「カテゴリがメーリングリストをミラーリングする」を有効にすると、その特定のカテゴリの受信メールの処理方法が変更されます。

  • block_auto_generated_emails が有効になっている場合でも、自動生成されたメールが許可されます。
  • email_in_allowed_groups の設定を無視して、すべてのユーザーがメールで投稿できます。
  • 受信メールは Message-ID を使用して関連する投稿を検索し、find_related_post_with_key の設定に関係なく検索します。
  • Markdown の解釈は、三重のバッククォートで囲まれたコードブロックに限定されます。
  • メーリングリストの投稿について、拒否メールは送信されません。

FAQ

Q: 複数のメーリングリストをミラーリングできますか?
A: はい、メーリングリストごとに個別のカテゴリを作成し、上記のように設定します。

Q: ユーザーは通知に返信してメーリングリストに投稿できますか?
A: いいえ、通知への返信は元のメーリングリストではなく Discourse に送信されます。ユーザーは Discourse を介してメーリングリストに直接投稿することはできません。

Q: ユーザーがメールでミラーリングされたカテゴリに投稿するのを防ぐにはどうすればよいですか?
A: カテゴリはメールでの投稿を許可しますが、不正な投稿を防ぐために受信メールアドレスを非公開に保つことができます。


  1. つまり、人々はこのアドレスに送信してリストに投稿し、このアドレスはリストからメンバーに送信されるメールの To:/CC: 行にも表示されます。 ↩︎

「いいね!」 31