config.cf で maintainer 変数を設定して下さい。
maintainer = アドレス [EXAMPLE] maintainer = admin@example.co.jpもちろん、 設定するアドレス( admin@example.co.jp )でメールを受けとれるように MTA の設定をしてください。
なおメールサーバによっては、 メールの送信者が自ドメイン以外からの場合、 受信を拒否することがあるので注意して下さい。
単にエラーメールなどの受取先を変えたいだけなら、 maintainer ( elena ML なら elena-admin@fml.org ) のフォワード先を変更する方が簡単です。 その設定は /etc/mail/aliases を変更するか、 $maintainer_recipient_maps の変更で行なえます。
前者は MTA がフォワード先を変更していますが、 後者では、 一度 elena-admin 宛のメールを fml8 が受け、 fml8 が $maintainer_recipient_maps にしたがって再配送を行ないます。
後者は、 ”エラーメール”を fml8 が再配送するという意味で若干不安のある実装ですが、 エラーメールを受けとる管理者リストを MTA ではなく fml8 側で管理するために必要なので実装されています。 これは、 たとえば WWW インターフェイスで 「エラーメールを受けとる管理者リストを設定する」 といったケースを想定した機能です。
なにもしなくても OK です。 fml8 のデフォルトが次のように設定されているので、そのように動きます。
member_maps = $primary_member_map $admin_member_maps
Subject のキーワードによって受信者を切替えることを考えます。
たとえば Subject に「資料請求」とあるメールであれば、 MLドライバが直接資料請求を担当する人たちへフォワードしてあげると効率がよい。 そういったケースです。
これを実現するためには、次のような HOOK が考えられます。
$distribute_run_start_hook = q{ my $config = $curproc->config(); my $header = $curproc->incoming_message_header(); my $subject = $header->get('subject') || ''; use Mail::Message::Subject; my $sbj = new Mail::Message::Subject $subject; $sbj->mime_header_decode(); my $buf = $sbj->as_external_form(); my $map = ''; # 注意: このファイルは EUC-JP で書いて下さい if ($buf =~ /資料請求/i) { # 資料請求をうけたら info@example.co.jp 相当のメンバーへ送信 $map = '$ml_home_dir/recipients.info'; } else { # デフォルト $map = '$ml_home_dir/recipients'; } if ($map) { $config->set("recipient_maps", $map); } };ここで $ml_home_dir/recipients.info (/var/spool/ml/elena/recipients.info) には、 資料請求を担当する人たちのアドレスが書かれています。
前のレシピも参照して下さい。 基本的なロジックは同じで、条件文が時間になるだけです。
$distribute_run_start_hook = q{ my $config = $curproc->config(); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); my $map = ''; if ($hour > 9 && $hour <= 17) { # 昼の部の人たち $map = '$ml_home_dir/recipients.daytime'; } else { # 夜の部の人たち $map = '$ml_home_dir/recipients.night'; } if ($map) { $config->set("recipient_maps", $map); } };
fml8 の IO は IO::Adapter による抽象化をしています。 たとえば受信者を、 グループ fml に含まれるユーザ宛にするには、 次のようにするだけで十分です。
[config.cf] recipient_maps = unix.group:fmlただし、 簡単でよいかわりに、 他ドメインには送れないし、 そのサーバにアカウントかエイリアス設定がないと配送できないので注意して下さい。
この機能が必要なのは、 送信したメールの記録が残るメールリーダを使っている場合、 MLから戻ってくる記事は必要ないと思う人がいるからだそうです。
fml8 では、いまのところ出来ません。未実装です。
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >