[Mew-dist 1594] imget.qmail
Yoshitomi Kentaro
yositomi at example.com
1997年 8月 23日 (土) 13:07:01 JST
吉冨と申します。
qmail の maildir に mew を対応させるため
imget の wrapper を書いて見ました。
仕組みは, ~/Mail/new に ある file を, ~/Mail/work
に数字の名前を持つ file に移し、それを本来の imget で
とってくるというものです. command line からやると
うまく行きます.
ところが、.emacs で
(setq mew-prog-imget (expand-file-name "~/bin/imget.qmail"))
して, 実行すると ~/Mail/work に移動するところまでは
うまく行くのですが, system で imget を呼び出すところが
動いてくれません. perl 初心者ですので, 何故動かないのか
良く分かりません.
どなたか分かる方がおられましたら よろしくお願いします.
-------->8-------->8-------->8-------->8-------->8-------->8--------
#!/usr/local/bin/perl
$realimget = "/usr/local/bin/imget";
$home = $ENV{'HOME'};
$home = (getpwuid($<))[7] unless ($home);
$maildir = $ENV{'MAILDIR'};
if ("$maildir" == "") {
$maildir = "$home/Mail";
}
if (! -x $maildir) {
if (mkdir($maildir, 0700) == 0) {
die "Fail to create $maildir directory: $!\n";
}
}
$mailnew = "$maildir/new";
$work = "$maildir/work";
if (! -x $work) {
if (mkdir($work, 0700) == 0) {
die "Fail to create $work directory: $!\n";
}
}
opendir(DIR, $work);
@chkfiles = readdir(DIR);
closedir(DIR);
$ct = 0;
foreach $f (sort {$a <=> $b} @chkfiles) {
if ($f =~ /^\d+$/) {
$ct = $f;
}
}
$ct = $ct + 1;
opendir(MB, $mailnew)
|| die "Fail to open $maildir/new directory.\n";
@srcfiles = readdir(MB);
closedir(MB);
foreach $f (sort @srcfiles) {
next if $f eq '.';
next if $f eq '..';
if ( -s "$mailnew/$f" ) {
rename("$mailnew/$f", "$work/$ct")
|| die ("Could not move $mailnew/$f to $work/$ct: $!\n");
$ct++;
}
}
#open(LOG, ">$home/imget.log");
#print LOG "@ARGV";
#sleep (1);
system "/usr/local/bin/imget -s local:$work", @ARGV;
#exec "/usr/local/bin/imget -s local:$work", @ARGV;
-------->8-------->8-------->8-------->8-------->8-------->8--------
----
吉冨 賢太郎 [ yositomi at example.com / (075)753-3699 ]
〒606-01 京都市左京区京都大学理学部数学教室 DC
Mew-dist メーリングリストの案内