HAYAGUI

メールの転送と自動返信

このページ内で使用しているメールアドレスは架空のものです。

はじめに

メールを、他のメールアドレスに転送したり自動返信する方法を以下に記します。

まず転送する場合、次の二つが考えられます。

  • 実在するユーザに送られてきたメールを転送する。
  • 実在するユーザにも送り転送もする。
  • エリアス(メールアドレスの別名)を作成する。
加えて、メーリングリストサーバを使わない簡単なメーリングリストの作成方法も記します。

実在するユーザに送られてきたメールを転送する

自分宛てに来たメールを転送する方法は簡単です。root に来たメールを hoge に転送する方法を以下に記します。

  1. メールサーバ(chaco.hayagui.com)に転送されるユーザでログインします。今回は、root でログインします。
  2. ホームディレクトリに .forward というファイルを作成します。
    chaco# vi .forward
    
  3. このファイルの中に、転送先のメールアドレスを記述して保存します。
    hoge@chaco.hayagui.com
    
  4. これで終わり。超簡単。これで、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 に転送する方法を以下に記します。

  1. メールサーバ(chaco.hayagui.com)に転送されるユーザでログインします。今回は、root でログインします。
  2. ホームディレクトリに .forward というファイルを作成します。
    chaco# vi .forward
    
  3. このファイルの中に、本来メールが届くユーザ名(root)と転送先のメールアドレス(hoge)を記述して保存します。
    \root,hoge@chaco.hayagui.com
    
  4. これで終わり。超簡単。これで、root@chaco.hayagui.com 宛てに届いたメールは、そのまま root@chaco.hayagui.com に保存され同じメールを hoge@chaco.hayagui.com にも転送されることになります。

    注意として、『\(バックスラッシュまたはエン)』を忘れないことです。

エリアス(メールアドレスの別名)を作成する

ユーザ名に別名を設定することで、その別名宛てに来たメールを転送させることができます。例えば、gon というユーザが hogehoge という別名にすることを以下に記します。

  1. メールサーバ(chaco.hayagui.com)にrootになれるユーザでログインします。
  2. su でスーパーユーザになります。
  3. /etc に cd します。
  4. aliases を vi で開いてください。
  5. 次のような内容を追加します。
    hogehoge: gon
    
    この変更は、hogehoge@chaco.hayagui.com 宛てに届いたメールを、gon@chaco.hayagui.com に転送するという意味です。
  6. 上書き保存してください。
  7. この変更を有効にするため、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#
    
  8. これで変更は終わりです。hogehoge@chaco.hayagui.com 宛てに届いたメールは、gon@chaco.hayagui.com に転送されます。

このエリアスを使用してメーリングリストを作成したい場合は、次のように作成します。

  1. aliases を vi で開いてください。
  2. 次のような内容を追加します。
    hogehoge: :include:/usr/local/ml/hogehoge
    
    hogehoge に来たメールは、/usr/local/ml にある hogehoge というファイルに記述されているメールアドレスに転送するという意味です。
  3. 上書き保存して、newaliases コマンドを実行します。
  4. /usr/local に、ml というディレクトリを作成します。
  5. ml ディレクトリに hogehoge というファイルを作成して、次のように記述します。
    gon@chaco.hayagui.com
    abc@chaco.hayagui.com
    
  6. 上書き保存します。
  7. hogehoge@chaco.hayagui.com 宛てに届いたメールは、gon@chaco.hayagui.com と abc@chaco.hayagui.com にメールが届きます。

自動返信の設定

自動返信は、vacation というものを使用します。 たとえば、hoge というユーザが vacation を設定した場合を説明します。
  1. メールサーバ(chaco.hayagui.com)に自動返信したいユーザでログインします。
  2. ホームディレクトリで、以下のように実行します。
    $ vacation -i
    
    すると、.vacation.db というデータベースファイルができます。
  3. .forward ファイルを作成し、以下のように記述します。/usr の前の縦棒は、パイプです。ローマ字のエルではありません。
    \hoge, "|/usr/bin/vacation hoge"
    
  4. .vacation.msg というファイルを作成し、返信するメールの内容を記述します。
    From: Hoge hoge <hoge@chaco.hayagui.com>
    Subject: Hello!
    
    Hello!
    
    --
    Hoge hoge
    
  5. これで、hoge@chaco.hayagui.com 宛てにメールを出すと、自動的に返信メールが返ってきます。また、hoge にもメールが届きます。
  6. 続けて hoge 宛てにメールを送っても、今度はメールが返ってきません。それは、返信インターバルがデフォルトの7日間になっているからです。例えば、インターバルを2日間にする場合は次のように設定します。
    $ vacation -i -r 2
    
  7. だれに vacation したかを確認するには、-l (ローマ字のスモールエル)オプションをつけます。
    $ vacation -l
    
  8. 自動返信をやめる場合は、.forward ファイルを削除してください。

戻る



(C)1999 - 2002 Kenji Ito All rights reserved.