「Mailman」の版間の差分
(→REST API: 翻訳) |
(→参照: 翻訳) |
||
(同じ利用者による、間の5版が非表示) | |||
67行目: | 67行目: | ||
=== ARC === |
=== ARC === |
||
− | + | デフォルトでは、[[Wikipedia:ja:DMARC|DMARC]] および [[Wikipedia:ja:DKIM|DKIM]] は無効になっています。設定は、設定ファイルの {{ic|[ARC]}} セクションで行われます。必ず必要な値を設定し、デフォルトに関するドキュメントを読んでください。 |
|
{{hc|/etc/mailman.cfg| |
{{hc|/etc/mailman.cfg| |
||
81行目: | 81行目: | ||
=== MTA === |
=== MTA === |
||
− | + | メール転送エージェント (MTA) を接続するには、設定ファイルの {{ic|[mta]}} セクションを設定する必要があります。 [https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html アップストリームドキュメント] では、[[postfix]]、[[exim]]、[[sendmail]] の例について説明していますが、その他の例も説明しています。 MTA は技術的には可能です。 |
|
==== Postfix ==== |
==== Postfix ==== |
||
+ | ローカル [[postfix]] インスタンスに接続するには、次の構成セクションを使用できます。 |
||
− | To connect to a local [[postfix]] instance the following configuration section can be used: |
||
{{hc|/etc/mailman.cfg| |
{{hc|/etc/mailman.cfg| |
||
97行目: | 97行目: | ||
}} |
}} |
||
− | + | [[postfix]] 設定は互換性を確保するために拡張する必要があります ([https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html#basic-postfix-connections アップストリームのメモ] を参照) |
|
{{hc|/etc/postfix/main.cf| |
{{hc|/etc/postfix/main.cf| |
||
109行目: | 109行目: | ||
}} |
}} |
||
− | + | さらに、[[postfix]] は mailman の [https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html#transport-maps トランスポートマップ] を認識する必要があります。postfix の設定に応じて、これらは次のようになります。 |
|
− | {{Note| |
+ | {{Note| 次の例では、{{ic|transport_maps}}、{{ic|local_recipient_maps}}、{{ic|relay_domains}}、{{ic|virtual_mailbox_domains}}、および {{ic|virtual_alias_maps}} の既存の値がマージされることを前提としています。追加の値。}} |
{{hc|/etc/postfix/main.cf| |
{{hc|/etc/postfix/main.cf| |
||
123行目: | 123行目: | ||
}} |
}} |
||
+ | デフォルトのハッシュベースのエイリアスマップを作成するために mailman が {{ic|postmap}} に直接アクセスできない場合は、代わりに正規表現ベースのエイリアスマップを生成します。 |
||
− | If {{ic|postmap}} is not directly accessible by mailman for creating the default hash-based alias maps, it is possible to generate regular expression based alias maps instead. |
||
+ | デフォルトの Python クラスベースの設定を上書きするために、mailman は設定ファイルの使用を許可します。次のファイルを作成します。 |
||
− | To overwrite the default Python-class based configuration, mailman allows the use of a configuration file. Create the following file: |
||
{{hc|/etc/postfix-mailman.cfg| |
{{hc|/etc/postfix-mailman.cfg| |
||
132行目: | 132行目: | ||
}} |
}} |
||
+ | このファイルを mailman の設定ファイルの {{ic|[mta]}} セクションに追加します。 |
||
− | Add the file to the {{ic|[mta]}} section in mailman's configuration file. |
||
{{hc|/etc/mailman.cfg| |
{{hc|/etc/mailman.cfg| |
||
140行目: | 140行目: | ||
}} |
}} |
||
− | + | その後、{{ic|regexp}} ベースのエクスポートを [[postfix]] 設定で使用できるようになります。 |
|
{{hc|/etc/postfix/main.cf| |
{{hc|/etc/postfix/main.cf| |
||
152行目: | 152行目: | ||
}} |
}} |
||
− | {{Note| |
+ | {{Note| タイプを変更した後(例: {{ic|hash}} から {{ic|regexp}} へ)、必ず新しいエイリアスマップを作成してください: {{ic|[mailman]$ mailman aliases}}}} |
+ | [[Postfix#Virtual_mail|仮想メール]] セットアップを使用してローカルの [[postfix]] インスタンスに接続するには、まず [[Postorius#Set_an_Alias_Domain|エイリアス ドメインを設定]] します。その後、それぞれの設定を変更します。 |
||
− | To connect to a local [[postfix]] instance with a [[Postfix#Virtual_mail|virtual mail]] setup, first [[Postorius#Set_an_Alias_Domain|set an alias domain]]. Afterwards alter the respective configuration. |
||
{{hc|/etc/postfix/main.cf| |
{{hc|/etc/postfix/main.cf| |
||
169行目: | 169行目: | ||
== 起動 == |
== 起動 == |
||
+ | {{ic|mailman3.service}} を [[有効化]] して [[起動]] します。 |
||
− | [[Enable]] and [[start]] {{ic|mailman3.service}}. |
||
+ | タイマーを備えた [[systemd]] サービスがいくつか存在し、リスト管理のさまざまな側面を処理します。 |
||
− | Several [[systemd]] services with timers exist, taking care of various aspects of the list management: |
||
− | * {{ic|mailman3-digests.timer}}: |
+ | * {{ic|mailman3-digests.timer}}: 毎日のダイジェストを購読者に送信するため |
− | * {{ic|mailman3-gatenews.timer}}: |
+ | * {{ic|mailman3-gatenews.timer}}: ニュースに関する [[Wikipedia:ja:Network News Transfer Protocol|NNTP]] サーバーの時間ごとのポーリング用 |
− | * {{ic|mailman3-notify.timer}}: |
+ | * {{ic|mailman3-notify.timer}}: 保留中のリクエストに関する通知を管理者に毎日送信するため |
== セットアップ == |
== セットアップ == |
||
181行目: | 181行目: | ||
=== メールサーバとの統合 === |
=== メールサーバとの統合 === |
||
− | === |
+ | === Hyperkitty との統合 === |
+ | Mailman は、それ自体ではメールを自動的にアーカイブしません。[[Hyperkitty]] Web アプリケーションはこの目的に使用されます。 プラグインに基づいて、mailman はアーカイブのために [[Hyperkitty]] インスタンスにメールを送信できます。 |
||
− | Mailman does not automatically archive mails on its own. The [[Hyperkitty]] web application is used for this purpose. Based on a plugin, mailman is able to send mails to a [[Hyperkitty]] instance for archival. |
||
− | + | {{Pkg|mailman3-hyperkitty}} パッケージを [[インストール]] し、{{ic|/etc/mailman-hyperkitty.cfg}} を設定します。 |
|
{{hc|/etc/mailman-hyperkitty.cfg| |
{{hc|/etc/mailman-hyperkitty.cfg| |
||
193行目: | 193行目: | ||
}} |
}} |
||
+ | その後、mailman にプラグインを認識させます。 |
||
− | Afterwards, make mailman aware of the plugin: |
||
{{hc|/etc/mailman.cfg| |
{{hc|/etc/mailman.cfg| |
||
206行目: | 206行目: | ||
=== mailman 3.0 未満からのマイグレート === |
=== mailman 3.0 未満からのマイグレート === |
||
− | Mailman |
+ | Mailman は、mailman < 3.0 ベースのリストデータベース ({{ic|config.pck}}) をインポートする機能を提供します。 {{ic|mailman}} ユーザーとして次のコマンドを実行します (例: [[sudo]] または [[su]] を使用。) |
[mailman]$ mailman import21 ''LISTSPEC'' ''PICKLE_FILE'' |
[mailman]$ mailman import21 ''LISTSPEC'' ''PICKLE_FILE'' |
||
− | + | ここで、{{ic|''LISTSPEC''}} はインポートするリストの完全修飾名 (例: {{ic|list@example.com}}) を表し、{{ic|''PICKLE_FILE''}} はインポートするリストの完全修飾名を表し、{{ic|config.pck}} は、リストのファイルへのパスを表します。 |
|
+ | {{Note|インポートされる mailman2 リストは、ターゲットの mailman インスタンスにすでに存在している必要があります。}} |
||
− | {{Note|The mailman2 list to be imported '''must''' already exist on the target mailman instance.}} |
||
=== REST API === |
=== REST API === |
||
− | Mailman |
+ | Mailman は [https://mailman.readthedocs.io/en/latest/src/mailman/rest/docs/rest.html#the-rest-server REST API] を公開しています。これは、{{Pkg|python-mailmanclient}} をベースにしたスタムツールを使用できます。 |
== 参照 == |
== 参照 == |
||
− | * [https://mailman.readthedocs.io/en/latest/ Mailman Documentation] - |
+ | * [https://mailman.readthedocs.io/en/latest/ Mailman Documentation] - ドキュメント |
− | * [https://mailmanclient.readthedocs.io/en/latest/ Mailmanclient Documentation] - |
+ | * [https://mailmanclient.readthedocs.io/en/latest/ Mailmanclient Documentation] - 上流のドキュメント |
− | * [https://hyperkitty.readthedocs.io/en/latest/install.html#connecting-to-mailman Connecting to Mailman] - |
+ | * [https://hyperkitty.readthedocs.io/en/latest/install.html#connecting-to-mailman Connecting to Mailman] - {{Pkg|mailman3-hyperkitty}} に関するアップストリームのドキュメント |
− | * [https://docs.mailman3.org/en/latest/ Mailman Suite Documentation] - |
+ | * [https://docs.mailman3.org/en/latest/ Mailman Suite Documentation] - Mailman スイート全体 (Mailman、Hyperkitty、Postorius) の (高レベルの) アップストリームドキュメント |
2023年10月28日 (土) 19:49時点における最新版
Mailman はメーリングリスト管理システムです。メールサーバーと組み合わせて使用します。
目次
インストール
Mailman は Postorius (設定用) と Hyperkitty (アーカイブ用)と一緒に使うことができます。
設定
Mailman の設定はすべて /etc/mailman.cfg
で行われます。全ての可能な設定オプションとデフォルトの設定を説明するスキーマは /usr/lib/python3.8/site-packages/mailman/config/schema.cfg
に格納されています。
また、コマンドラインからも設定にアクセスすることができます。mailman
ユーザーとして (例: sudo や su を使って) 以下のコマンドを実行します。
[mailman]$ mailman conf
データベース
Mailman はデフォルトで、/var/lib/mailman/data/ の SQLite データベース を使用します。
ですが、MariaDB または PostgreSQL を使用するように設定できます。
SQLite
SQLite データベースのデフォルトの場所はすでに schema.cfg
に反映されているため、Mailman で設定する必要はありません。
/etc/mailman.cfg
[database] url: sqlite:////var/lib/mailman/data/mailman.db
MariaDB
python-pymysql パッケージを インストール し、MariaDB にデータベースを設定します。
/etc/mailman.cfg
[database] class: mailman.database.mysql.MySQLDatabase url: mysql+pymysql://myuser:mypassword@mymysqlhost/mailman?charset=utf8&use_unicode=1
PostgreSQL
python-psycopg2 パッケージを インストール し、PostgreSQL を使用してデータベースを作成します。
/etc/mailman.cfg
[database] class: mailman.database.postgresql.PostgreSQLDatabase url: postgres://myuser:mypassword@mypghost/mailman
REST API
Mailman は、設定の [webservice]
セクションの設定に基づいて REST API を公開します。admin_user
と admin_pass
のデフォルト値を必ず置き換えてください (以下の例の値は使用しないでください)
/etc/mailman.cfg
[webservice] admin_user: my_new_admin_user_name admin_pass: my_new_admin_user_password
ARC
デフォルトでは、DMARC および DKIM は無効になっています。設定は、設定ファイルの [ARC]
セクションで行われます。必ず必要な値を設定し、デフォルトに関するドキュメントを読んでください。
/etc/mailman.cfg
[ARC] enabled: yes authserv_id: mailserver.tld trusted_authserv_ids: subdomain.mailserver.tld, other.mailserver.tld privkey: /path/to/privatekey.pem selector: test domain: mailserver.tld
MTA
メール転送エージェント (MTA) を接続するには、設定ファイルの [mta]
セクションを設定する必要があります。 アップストリームドキュメント では、postfix、exim、sendmail の例について説明していますが、その他の例も説明しています。 MTA は技術的には可能です。
Postfix
ローカル postfix インスタンスに接続するには、次の構成セクションを使用できます。
/etc/mailman.cfg
[mta] incoming: mailman.mta.postfix.LMTP outgoing: mailman.mta.deliver.deliver lmtp_host: mail.example.com lmtp_port: 8024 smtp_host: mail.example.com smtp_port: 25
postfix 設定は互換性を確保するために拡張する必要があります (アップストリームのメモ を参照)
/etc/postfix/main.cf
[..] recipient_delimiter = + unknown_local_recipient_reject_code = 550 owner_request_special = no [..]
さらに、postfix は mailman の トランスポートマップ を認識する必要があります。postfix の設定に応じて、これらは次のようになります。
/etc/postfix/main.cf
[..] transport_maps = hash:/var/lib/mailman/data/postfix_lmtp local_recipient_maps = hash:/var/lib/mailman/data/postfix_lmtp relay_domains = hash:/var/lib/mailman/data/postfix_domains [..]
デフォルトのハッシュベースのエイリアスマップを作成するために mailman が postmap
に直接アクセスできない場合は、代わりに正規表現ベースのエイリアスマップを生成します。
デフォルトの Python クラスベースの設定を上書きするために、mailman は設定ファイルの使用を許可します。次のファイルを作成します。
/etc/postfix-mailman.cfg
[postfix] postmap_command: /usr/bin/postmap transport_file_type: regex
このファイルを mailman の設定ファイルの [mta]
セクションに追加します。
/etc/mailman.cfg
[mta] [..] configuration: /etc/postfix-mailman.cfg
その後、regexp
ベースのエクスポートを postfix 設定で使用できるようになります。
/etc/postfix/main.cf
[..] transport_maps = regexp:/var/lib/mailman/data/postfix_lmtp local_recipient_maps = regexp:/var/lib/mailman/data/postfix_lmtp relay_domains = regexp:/var/lib/mailman/data/postfix_domains [..]
仮想メール セットアップを使用してローカルの postfix インスタンスに接続するには、まず エイリアス ドメインを設定 します。その後、それぞれの設定を変更します。
/etc/postfix/main.cf
[..] local_recipient_maps = regexp:/var/lib/mailman/data/postfix_lmtp transport_maps = regexp:/var/lib/mailman/data/postfix_lmtp virtual_mailbox_domains = regexp:/var/lib/mailman/data/postfix_domains virtual_alias_maps = regexp:/var/lib/mailman/data/postfix_vmap [..]
起動
mailman3.service
を 有効化 して 起動 します。
タイマーを備えた systemd サービスがいくつか存在し、リスト管理のさまざまな側面を処理します。
mailman3-digests.timer
: 毎日のダイジェストを購読者に送信するためmailman3-gatenews.timer
: ニュースに関する NNTP サーバーの時間ごとのポーリング用mailman3-notify.timer
: 保留中のリクエストに関する通知を管理者に毎日送信するため
セットアップ
メールサーバとの統合
Hyperkitty との統合
Mailman は、それ自体ではメールを自動的にアーカイブしません。Hyperkitty Web アプリケーションはこの目的に使用されます。 プラグインに基づいて、mailman はアーカイブのために Hyperkitty インスタンスにメールを送信できます。
mailman3-hyperkitty パッケージを インストール し、/etc/mailman-hyperkitty.cfg
を設定します。
/etc/mailman-hyperkitty.cfg
[general] base_url: https://example.tld/hyperkitty/ api_key: super_secret_password
その後、mailman にプラグインを認識させます。
/etc/mailman.cfg
[archiver.hyperkitty] class: mailman_hyperkitty.Archiver enable: yes configuration: /etc/mailman-hyperkitty.cfg
ヒントとテクニック
mailman 3.0 未満からのマイグレート
Mailman は、mailman < 3.0 ベースのリストデータベース (config.pck
) をインポートする機能を提供します。 mailman
ユーザーとして次のコマンドを実行します (例: sudo または su を使用。)
[mailman]$ mailman import21 LISTSPEC PICKLE_FILE
ここで、LISTSPEC
はインポートするリストの完全修飾名 (例: list@example.com
) を表し、PICKLE_FILE
はインポートするリストの完全修飾名を表し、config.pck
は、リストのファイルへのパスを表します。
REST API
Mailman は REST API を公開しています。これは、python-mailmanclient をベースにしたスタムツールを使用できます。
参照
- Mailman Documentation - ドキュメント
- Mailmanclient Documentation - 上流のドキュメント
- Connecting to Mailman - mailman3-hyperkitty に関するアップストリームのドキュメント
- Mailman Suite Documentation - Mailman スイート全体 (Mailman、Hyperkitty、Postorius) の (高レベルの) アップストリームドキュメント