ここでは、メールの複数アカウントへの転送について解説します。ホームディレクトリ直下に、.forward
ファイルを用意し、そのファイルに転送先のアドレスを記述しておくことで、受け取ったメールを異なるアカウントに転送させる事ができます。家にいるときは、kororo@kororo.jp
で受信し、外に出かけたときは、フリーメールで受信するといった使い方もできますし、また、簡易なメーリングリストとしても機能します。複数のアカウントを保有していて、それぞれの用途に分けて別のアドレスに転送したいという場合には重宝します。
|
|
■メールの転送設定
まず、/etc/postfix/main.cf を開いて以下の行を追記します(注:実際は一行で記述してください)。既に記述されていればそのままで構いません。ここでは、各ユーザーのフォワードファイルを設定しており、複数指定した場合は、指定した順にフォワードファイルを探し、最初にみつけたファイルに基づいてメールを転送します。コメントアウトすると、ユーザーはフォワードファイルを使う事ができなくなります。
# vi /etc/postfix/main.cf
forward_path = $home/.forward${recipient_delimiter}${extension},$home/.forward
|
|
上記の $home/.forward${recipient_delimiter}${extension}
では、
recipient_delimiterで指定したデリミタ+拡張アドレスを指定します。どういうことかというと、$home/.forward
の場合は、ユーザーのホームディレクトリに.forward ファイルを置いておくという意味ですが、前者の指定では、
$HOME/.forward-任意の名前 と指定する事ができるようになります。前者を記述した場合で、且つその値を有効にするには、下記のrecipient_delimiter
を /etc/postfix/main.cf に指定しておく必要があります。recipient_delimiter
は単なるデリミタなので、デフォルトで記述されている「-」でも構わないし、「+」でも構わないということになります。
# vi /etc/postfix/main.cf
recipient_delimiter = - |
|
設定を編集し終えたら、postfix をリロードしておきます。
■$HOME/.forward ファイルの作成
次にユーザーのホームディレクトリ直下に .forward ファイルを作成しておきます。「
recipient_delimiter
= -」と指定した方は、「
.forward-任意の名前」のファイルを作成します(例:.forward-koro)。
$ touch .forward
$ chmod 600 ~/.forward |
|
.forward ファイルには転送させたいメールアドレスを記述しておきます。また、通常は、複数のアカウントで受信したいと思うので、サーバー側に元メールを残しておくという設定も施しておきます。以下のようにする事で、kororo@kororo.jp
でも受信でき、フリーメールへも転送されます。
$ vi ~/.forward
~/Maildir/
xxxxxxx@yahoo.co.jp |
|
■/etc/aliases を使ったメールの転送
.forward でメールを転送する以外にも、システムレベルで転送する方法として、/etc/aliases
を使う方法もあります。以下の例では、postmaster 宛てに届いたメールをrootとkororo、xxxxxx@yahoo.co.jp
に転送します。なお、postmaster というアカウント自体は、システムに存在しないユーザーであっても構いません。postmaster
ではなく、webmaster でも全然構わないわけです。
# vi /etc/aliases
postmaster: root,kororo,xxxxxx@yahoo.co.jp |
|
/etc/aliases を編集したら、エイリアスデータベース(aliases.db)を更新するために、newaliases
コマンドを実行します。これで、転送先に指定したアドレスにメールが転送されるようになります。