UNIX/Linuxの部屋 設定ファイル:~/.forward

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




設定ファイル ~/.forward メールの自動転送を設定 このエントリーをはてなブックマークに追加

メールを自動的に転送する。転送先のメールアドレスを書いておけば、自動的にそのメールアドレスに転送される。ここでユーザ名「usernmae」というアカウントを例にとると、~username/.forwardに
hoge@fuga.com
と書いておくと、username 宛に届いたメールは hoge@fuga.com に転送される。複数のメールアドレスに転送したい場合は、
hoge@fuga.com,foo@bar.ac.jp
とカンマで区切ることで記述できる。

届いたメールを hoge@fuga.com に転送したいが、最初に届いたホストにもメールを残しておきたい場合は、
\username,hoge@fuga.com
と書いておく。先頭の「\」は、転送先の展開を抑制を意味する。もし
username,hoge@fuga.com
と書いてしまうと、username に届いたメールは username 自身に再度送られるが、再び ~username/.forward が参照されて、usernmae に配送される。この繰り返しで無限ループに陥ってしまう (実際は数回ループするとエラーとなり停止する)。

また、メールが届くと自動的にプログラムを実行させることもできる。これを利用して、メールが届くとメール振り分けプログラムが起動されるようにしておけば、メールの内容/サブジェクトによって動作を変えることができる。具体的には、~/.forward に
"|exec command"
と書いておくことで、command が自動的に実行される (必ず "" で囲まなければいけない)。メール振り分けプログラムとしては、procmail コマンドが使われることが多い。

なお、~/.forward のパーミッションは 644 か 600 にしておくこと。664 (group writable) だと、~/.forward を解釈する sendmail が「セキュリティが甘い」と判断して、エラーとなる環境もある。