[Mew-dist 08780] [fj.editor.mule] Re: mail aliases file of IM
SAKAI Kiyotaka
ksakai at example.com
1999年 5月 12日 (水) 13:26:11 JST
もう1点、この質問者の方は本当は
alias: < filename
という形式の file の include をサポートして欲しいようなのですが、どう
しましょうか?
機能的には /etc/aliases に :include: と記述してファイルを include する
ようなものです。
ちなみに、
1. < file
2. alias: < file
のいずれも MH で使われていた形式で、1 の方は file 中に alias ファイル
と同じ形式で記述し、2 は file 中にはアドレスだけを列記します。Mew では
1 の対応はしていましたが、2の形式があることは知りませんでした。
とりあえず、IM の方は 2の形式をサポートするパッチを作りました。
--
酒井 清隆 (E-mail: ksakai at example.com)
-------------- next part --------------
添付メールを保管しました...
送信者: yamat at example.com (Takahiro Yamaguchi)
件名: Re: mail aliases file of IM
日付: 11 May 1999 08:30:09 GMT
サイズ: 1668 バイト
URL: <http://www.mew.org/pipermail/mew-dist/attachments/19990512/0aa5019d/attachment.mht>
-------------- next part --------------
Index: Alias.pm
===================================================================
RCS file: /home/ksakai/cvsroot/im-115/IM/Alias.pm,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Alias.pm
--- Alias.pm 1999/05/10 02:34:43 1.1.1.1
+++ Alias.pm 1999/05/12 02:38:00
@@ -67,6 +67,7 @@
sub alias_read (;$) {
my @aliases = split(',', shift || '~/.im/Aliases');
my $ali;
+ local (*ALIAS, *INC);
%MAIL_ALIASES = ();
%MAIL_ALIAS_HASH = ();
@@ -91,7 +92,7 @@
next if ($line =~ /^[\#;]/);
next if ($line =~ /^\s*$/);
chomp($line);
- if ($line =~ /^<\s*(\S+)$/) {
+ if ($line =~ /^\s*<\s*(\S+)$/) {
push(@aliases, $1);
next;
}
@@ -108,7 +109,18 @@
}
$line =~ s/^\s+//;
my ($name, $val) = split('\s*[:=]\s*', $line, 2);
- $MAIL_ALIASES{$name} = $val if $val;
+ if ($val =~ /^<\s*(.*)/) {
+ open(INC, "<$1") || next;
+ my ($addr, @addrs);
+ while (defined($addr = <INC>)) {
+ chomp($addr);
+ push(@addrs, $addr);
+ }
+ close(INC);
+ $MAIL_ALIASES{$name} = join(",", @addrs);
+ } elsif ($val) {
+ $MAIL_ALIASES{$name} = $val;
+ }
}
close(ALIAS);
}
Mew-dist メーリングリストの案内