メールの転送と自動返信
このページ内で使用しているメールアドレスは架空のものです。
はじめに
メールを、他のメールアドレスに転送したり自動返信する方法を以下に記します。
まず転送する場合、次の二つが考えられます。
- 実在するユーザに送られてきたメールを転送する。
- 実在するユーザにも送り転送もする。
- エリアス(メールアドレスの別名)を作成する。
加えて、メーリングリストサーバを使わない簡単なメーリングリストの作成方法も記します。
実在するユーザに送られてきたメールを転送する
自分宛てに来たメールを転送する方法は簡単です。root に来たメールを hoge に転送する方法を以下に記します。
- メールサーバ(chaco.hayagui.com)に転送されるユーザでログインします。今回は、root でログインします。
- ホームディレクトリに .forward というファイルを作成します。
chaco# vi .forward
- このファイルの中に、転送先のメールアドレスを記述して保存します。
hoge@chaco.hayagui.com
- これで終わり。超簡単。これで、root@chaco.hayagui.com 宛てに届いたメールは、hoge@chaco.hayagui.com に転送されることになります。root@chaco.hayagui.com にはメールは残りません。
この .forward を使ってメーリングリストを作成する場合は、.forward の中に転送したいユーザ名を記述するだけです。しかし、.forward を置くユーザにメールが届かなくなりますので、以下に説明する『エリアス(メールアドレスの別名)を作成する』を参照してください。
注意として、.forward に書くユーザ名の中に、自分(この場合 root)のメールアドレスは絶対書いてはいけません。root に届いたメールが、.forward で root に転送されてまた root にメールが届く。また、.forward で root にメールが送られて.... バーン!
実在するユーザにも送り転送もする
自分宛てに来たメールはそのまま自分に送り、ついでに転送する方法も簡単です。root に来たメールを root に送り hoge に転送する方法を以下に記します。
- メールサーバ(chaco.hayagui.com)に転送されるユーザでログインします。今回は、root でログインします。
- ホームディレクトリに .forward というファイルを作成します。
chaco# vi .forward
- このファイルの中に、本来メールが届くユーザ名(root)と転送先のメールアドレス(hoge)を記述して保存します。
\root,hoge@chaco.hayagui.com
- これで終わり。超簡単。これで、root@chaco.hayagui.com 宛てに届いたメールは、そのまま root@chaco.hayagui.com に保存され同じメールを hoge@chaco.hayagui.com にも転送されることになります。
注意として、『\(バックスラッシュまたはエン)』を忘れないことです。
エリアス(メールアドレスの別名)を作成する
ユーザ名に別名を設定することで、その別名宛てに来たメールを転送させることができます。例えば、gon というユーザが hogehoge という別名にすることを以下に記します。
- メールサーバ(chaco.hayagui.com)にrootになれるユーザでログインします。
- su でスーパーユーザになります。
- /etc に cd します。
- aliases を vi で開いてください。
- 次のような内容を追加します。
hogehoge: gon
この変更は、hogehoge@chaco.hayagui.com 宛てに届いたメールを、gon@chaco.hayagui.com に転送するという意味です。
- 上書き保存してください。
- この変更を有効にするため、newaliases コマンドを実行します。
chaco# newaliases
Jan 24 23:19:01 chaco sendmail[289]: alias database /etc/mail/aliases rebuilt by root
/etc/mail/aliases:23 aliases, longest 10 bytes, 225 bytes total
chaco#
- これで変更は終わりです。hogehoge@chaco.hayagui.com 宛てに届いたメールは、gon@chaco.hayagui.com に転送されます。
このエリアスを使用してメーリングリストを作成したい場合は、次のように作成します。
- aliases を vi で開いてください。
- 次のような内容を追加します。
hogehoge: :include:/usr/local/ml/hogehoge
hogehoge に来たメールは、/usr/local/ml にある hogehoge というファイルに記述されているメールアドレスに転送するという意味です。
- 上書き保存して、newaliases コマンドを実行します。
- /usr/local に、ml というディレクトリを作成します。
- ml ディレクトリに hogehoge というファイルを作成して、次のように記述します。
gon@chaco.hayagui.com
abc@chaco.hayagui.com
- 上書き保存します。
- hogehoge@chaco.hayagui.com 宛てに届いたメールは、gon@chaco.hayagui.com と abc@chaco.hayagui.com にメールが届きます。
自動返信の設定
自動返信は、vacation というものを使用します。
たとえば、hoge というユーザが vacation を設定した場合を説明します。
- メールサーバ(chaco.hayagui.com)に自動返信したいユーザでログインします。
- ホームディレクトリで、以下のように実行します。
$ vacation -i
すると、.vacation.db というデータベースファイルができます。
- .forward ファイルを作成し、以下のように記述します。/usr の前の縦棒は、パイプです。ローマ字のエルではありません。
\hoge, "|/usr/bin/vacation hoge"
- .vacation.msg というファイルを作成し、返信するメールの内容を記述します。
From: Hoge hoge <hoge@chaco.hayagui.com>
Subject: Hello!
Hello!
--
Hoge hoge
- これで、hoge@chaco.hayagui.com 宛てにメールを出すと、自動的に返信メールが返ってきます。また、hoge にもメールが届きます。
- 続けて hoge 宛てにメールを送っても、今度はメールが返ってきません。それは、返信インターバルがデフォルトの7日間になっているからです。例えば、インターバルを2日間にする場合は次のように設定します。
$ vacation -i -r 2
- だれに vacation したかを確認するには、-l (ローマ字のスモールエル)オプションをつけます。
$ vacation -l
- 自動返信をやめる場合は、.forward ファイルを削除してください。
戻る
|