すのものの「コンピュータ関連メモ」

コンピュータを使ううえで自分で工夫してみたことのうち、 ほかの人にも教えてあげたいと思ったことをまとめてみました。 試す人は自分の責任で試してください。 何が起きても責任はもてません。

vacation を使って新しいメールアドレスを自動通知する

unix マシン内のあるアカウントから新しいアカウントにメインのメールアドレスを変更した場合、 古いアカウントに .forward を置けば到着したメールを自動転送することができますが、 それだけでは発信者には転送されていることが伝わりませんから、 いつまでも前のアカウントにメールが送られてきます。 ヘッダを見てメールの経由地点をチェックし、 転送されてきたメールの発信者にのみ新アドレスを通知するメールを送るのはなかなかめんどうです。 また、相手との関係によって文面を変えなければならない場合もあり、 頭を悩ませます。

unix マシンには vacation というプログラムがはいっていることが多いようです。 元々は、休暇に出かけるときにセットしてゆき、 その間にメールをくれた人に 「いま休暇中です。急ぎの用事のある人は**まで電話してください」 のような返事を自動的に出すものです。 私は、それを利用して新しいメールアドレスを自動通知するようにしています。

旧アカウント sunomono のホームディレクトリには

sunomono◎muf.biglobe.ne.jp, "|/usr/ucb/vacation -t5m sunomono"
という内容のファイル .forward を置きます。

 ※ 実物とはアカウント名などを変えてある。

たぶん、普通に vacation を実行すると自動的に生成される .forward は

\sunomono, "|/usr/ucb/vacation sunomono"
となると思います。 最初の \sunomono は 「転送せずにこのアカウントにもメールを残す」の意味だからこれは削って新アドレス sunomono◎muf.biglobe.ne.jp に変えます。 そのあとの部分にはオプション -t5m を付加しました。 このオプションは、 同じアカウントからメールがきた場合にどれだけの時間以内だったらこの自動返信を出さないか、 というオプションです。 オプションなしだと一週間になるのでこの目的にはやや長すぎると考え、 5分にしました。

.vacation.msg は次のようになっています。 これも、vacation を普通に実行したときにできるサンプルを改変したものです。

From: sunomono (via the vacation program)
Subject: my current e-mail address

     This is an automatic reply to your e-mail regarding
`$SUBJECT', which has been automatically forwarded
to my current e-mail address shown in the signature below.
     Please update your address book.  Thank you.

 --- The following is a Japanese translation. ---

 これは自動返信メッセージです。いただきましたメール(題目:
`$SUBJECT')は下の署名中にあります私の現在のメール
アドレスに自動転送されました。
 恐れ入りますが、お手元のアドレス帳を御更新ください。

すのもの

-- 
Sunomono <sunomono◎muf.biglobe.ne.jp>

最初はこのメッセージは英語だけにしていたのですが、 英語を読み慣れていないかたが MAILER-DAEMON からのエラー通知メールとカン違いすることがあるようなので日本語も添えることにしました。 一方、(いわゆる)日本語 --- 漢字かなまじり文 --- が読めないコンピュータから私にメールを送ってくださるかたもおられますので、 「The following is a Japanese translation」という一文を英語で入れました。 そうでないと何が書いてあるかわからず不安でしょうから。 「&SUBJECT」は相手からのメールの subject で置き換わります。 「&SUBJECT」を含む行の中で「&SUBJECT」の前に (いわゆる)日本語があると置き換えがうまくゆかないようなので、 日本語のほうは 「&SUBJECT」が行頭になるよう文章を工夫してあります。 「自動返信メッセージ」という語がはいっているのは、 そうでないと私が相手からのメールをすでに読んだものとカン違いされることがあるからです。

こうしておけば、 旧アカウントにメールが着くと新アカウントに転送され、 同時に発信者にメッセージが送られます。

なお、 vacation のパージョンなどにより動作に違いがあることも考えられますので、 まずは普通に vacation をしかけてみるなど十分慎重にテストを行なってください。

P.S. 上の英文にまずい点、直すべき点などがありましたら、 教えていただけると幸いです。 日本語訳にも何かありましたら --- 敬語の間違いとか ---、 ご一報ください。 もしよさそうだと思われましたら、ご自由にお使いくださって結構です。

1999-04-15 (4) 01:53:00 +0900

(付) 多くのワークステーションでは .vacation.msg を JIS コードに変換しておく必要があります。 また、この方法では相手に送られるメッセージに(いわゆる) 日本語が含まれるにもかかわらずヘッダにそのむねが書き込まれないので、 厳密にいえばメールの規則に合致していないのかも知れません。 以上二点を指摘してくださった奥村晴彦氏に感謝します。

1999-05-04 (2) 19:06:06 +0900

メールアドレス内の「@」を「◎」で置き換えた。

2005-01-30 (0) 17:39:37 +0900


すのもの