読者です 読者をやめる 読者になる 読者になる

treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

配信専用アドレスに送信できる人を制限したい

サーバ 私流方法論 運用管理

メーリングリスト、といっても/etc/aliasesとか.forwardのような転送を使っているケースは多いんじゃないかと思います。
もしくは、契約したプロバイダのWeb・メールサーバ機能にメーリングリストが付属している、とか。
今日はこのメーリングリスト機能についてのご報告です。

こんな問合せがありました。

メーリングリストは機能としてあるけど使っていない(aliasesや転送しか使っていない状態)、そんなメールサーバのユーザから問合せがやってきました。
----------------------------------------------
メーリングリスト(現在aliases)をアクセス権限で区分けみたいに「使用できる人/できない人(送れる人/送れない人)を分けたい」という要望がありました。
(メンバー全員に配信されなくてもよいメールとか、業務で関係が薄いメールが全体に配信されているため)

送信元(from)となるメールアドレスを認証することで、このアドレスから来たメールはメーリングリストで配信/これ以外のメールアドレスだったら配信しない(ドロップ)、といった分けができるものですかね?
----------------------------------------------

なるほど。何でもかんでも全員に同報しておけばよい、という雰囲気になっている、てことのようです。

認証ではないが承認がある

やるとすると、文中の認証ってところですね。ここがメーリングリスト専用パッケージならではの機能になります。
承認型のメール投稿にする(巷でよくあるメーリングリストにする)というのが一番ユーザの要望に近いと思います。

MLの専用システムではモデレータという審査員を設定することができます。投稿された配送用のMLアドレスで受信した電子メールが一旦モデレータに配送され、モデレータに該当する人が返信することで投稿が承認されます。
この「モデレータによる承認」にMLアドレスを設定して、承認するモデレータアドレスで投稿可否を決定する=承認型、という使い方はできます。

  • 制限例:モデレータアドレスは何人か(1-5名程度)のみ設定可。
  • 制限例:メーリングリストの送信容量は通常のメールより少ないことが多い。
  • 制限例:メールの送信に人の手による承認動作が必要となる(ユーザに受け入れられるか)

この場合、外部の人が利用できない(いちいち承認が必要になる)とかCCに(いままで使っていたメーリングリストの)アドレスを入れないようにする、といった社内ルールが必要になりますね。普段使いしているアドレスを承認型メーリングリストにすると、メールの都度承認が必要になるので、承認者の負担が増えます。

承認を自動化できるのか?

送信元(from)となるメールアドレスを認証するという点は人手(手作業)を介してしまいます。これだとちょっとね…と言う場合。
自動認証で送信の可否を自動判定する、というのはこうすればできるかもしれません。
(上述の制限※メールの送信に人の手による承認動作が必要、だけを自動化する場合)
認証、というほどではありませんが、

  • メーリングリストの投稿をメンバーのみに設定する
  • メーリングリストで投稿可能な人のアドレスだけを直接登録
  • 投稿不可の人のアドレスはメーリングリストに登録せず転送用アドレスで登録
  • メーリングリストに登録する転送用アドレスは秘匿(非公開)

と設定します。
図:設定した後のMLの構造

f:id:treedown:20160913100504p:plain

こうすると

  1. 投稿可能な人はメーリングリストのメンバーなので投稿ができる、投稿不可の人は送信してもアドレスが合致しないから拒否される。
  2. メーリングリストに登録されている転送用アドレスによって投稿メールは全員に転送されるから投稿不可の人も受信はできる。

という形になりますので要望に近い形になるかもしれません。
とはいえ、どんなメーリングリストでもテストは必要ですが。