以下の内容はhttp://sonic64.com//2003-12-11.htmlより取得しました。


Landscape トップページ | < 前の日 2003-12-10 2003-12-11 次の日 2003-12-12 >

Landscape - エンジニアのメモ 2003-12-11

You have mail と表示してるのは誰かを調査


* You have mail と表示してるのは誰かを調査

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux] [メール]

2003-12-08 に fetchmail + procmail を導入して以来、ログイン時に You have mail と言われるようになった。pro は外部からの smtp を受け付けないし、メールを受け取るような cron も設定していない。いったいどこからメールが来てるんだろう、と不思議に思って調べると、.procmailrc に
:0 c
とルールを記述していたため、ローカルのメールボックスにメールを残しつつ転送するようになっていたことが原因だとわかった。どこかのウェブページにあった .procmailrc を、内容を吟味せずにほとんどそのまま使ってしまったので当然の結果だ。

- You have mail って誰が言ってるの?

ところで、You have mail って誰が出してるメッセージなんだろう、と思って調べてみた。
ログインしたときに出てる訳だから、ログイン時に実行されるスクリプトあたりだろうか、と推測し、/etc/profile, /etc/bashrc, $HOME/.login, $HOME/.bash_profile, $HOME/.bashrc を調べてみたが、どこにもそれらしきスクリプトは無かった。唯一 /etc/profile に
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
というメールスプールのパスを設定している記述があるだけだ。

もうこうなったら Google に聞くしかない。Google で ログイン "you have mail" を検索すると、JM のページがトップでヒット。

Manpage of LOGIN
http://www.linux.or.jp/JM/html/shadow/man1/login.1.html
ログインに成功すると、システムメッセージやメールの有無が表示される。ログインディレクトリに長さ 0 のファイル .hushlogin を作っておけば、システムメッセージファイルである /etc/motd の表示を無効にできる。メールに関するメッセージは、メールボックスの状態によって "You have new mail.", "You have mail.", "No Mail." のいずれかになる。

なるほど、login コマンドそのものが出力していたのか。でも、「メールボックスの状態によって」というのが気になる。どんな状態だとどのメッセージが出るのかはわからなかった。login のソースを読むのが近道かなあ。




以上の内容はhttp://sonic64.com//2003-12-11.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14