Solaris のシステム管理 (ネットワークサービス)

メールサービスのプログラムとファイル

メールサービスには、相互に対応する数多くのプログラムやデーモンが含まれています。ここでは、電子メールの管理に関連するファイル、プログラム、用語、および概念について説明します。

vacation ユーティリティーの拡張機能

Solaris 10 以降のリリースでは、vacation ユーティリティーが機能強化され、自動生成された応答をどの着信メッセージが受けるかをユーザーが指定できるようになりました。この拡張機能により、ユーザーは、知らない人と機密情報や連絡先を共有せずにすみます。スパマーや知らない人からのメッセージは、応答を受け取りません。

この拡張機能は、着信電子メールの送信者のアドレスを .vacation.filter ファイル内のドメインまたは電子メールアドレスのリストと付き合わせることによって機能します。このファイルは、ユーザーによって作成され、ユーザーのホームディレクトリにあります。ドメインまたは電子メールアドレスで一致するものがあると、応答が送られます。一致するものがなければ、応答は送られません。

.vacation.filter には、次のようなエントリが含まれます。


company.com
mydomain.com
onefriend@hisisp.com
anotherfriend@herisp.com

各行には、1 つのドメインまたは 1 つの電子メールアドレスが含まれます。1 つのエントリを 1 行に入力する必要があります。送信者の電子メールアドレスが電子メールアドレスエントリと一致するには、大文字と小文字の違いを除いて、完全に一致している必要があります。送信者のアドレスの文字が小文字であるか大文字であるかは無視されます。送信者の電子メールアドレスがドメインエントリと一致するには、一覧表示されているドメインに送信者のアドレスが含まれている必要があります。たとえば、somebody@dept.company.comsomeone@company.com の両方が、company.com のドメインエントリと一致します。

詳細は、vacation(1) のマニュアルページを参照してください。

/usr/bin ディレクトリの内容

次の表にメールサービスに使用する /usr/bin ディレクトリの内容を示します。

名前 

種類 

説明 

aliasadm

ファイル 

NIS+ 別名マップを処理するプログラム。 

mail

ファイル 

ユーザーエージェント。 

mailcompat

ファイル 

メールを SunOS 4.1 メールボックスフォーマットに格納するフィルタ。 

mailq

ファイル 

メールキューの内容を一覧表示するプログラム。 

mailstats

ファイル 

/etc/mail/statistics ファイルに格納されたメール統計情報の読み込みに使用するプログラム (存在する場合のみ)。

mailx

ファイル 

ユーザーエージェント。 

mconnect

ファイル 

アドレスの検証とデバッグのためメールプログラムに接続するプログラム。 

praliases

ファイル 

別名データベースを「ソースに展開」するコマンド。praliases(1) のマニュアルページにあるソース展開の情報を参照してください。

rmail

シンボリックリンク 

/usr/bin/mail へのシンボリックリンク。メール送信だけに使用されるコマンド。

vacation

ファイル 

メールへの自動応答を設定するコマンド。 

/etc/mail ディレクトリの内容

次の表に、/etc/mail ディレクトリの内容を示します。

名前 

種類 

説明 

Mail.rc

ファイル 

mailx ユーザーエージェントのデフォルトの設定値。

aliases

ファイル 

メール転送情報。 

aliases.db

ファイル 

newaliases の実行によって作成されるデフォルトのバイナリ形式のメール転送情報。

aliases.dir

ファイル 

newaliases の実行によって作成されるバイナリ形式のメール転送情報。まだ使用できますが、Solaris 9 よりデフォルトでは使用できません。

aliases.pag

ファイル 

newaliases の実行によって作成されるバイナリ形式のメール転送情報。まだ使用できますが、Solaris 9 よりデフォルトでは使用できません。

mailx.rc

ファイル 

mailx ユーザーエージェントのデフォルトの設定値。

main.cf

シンボリックリンク 

メインシステム用の構成ファイルのこの例から sendmail.cf へのシンボリックリンクが、下位互換性を確保するために提供されます。このファイルは、sendmail の version 8.13 では必要ありません。

relay-domains

ファイル 

リレーを許容するすべてのドメインのリスト。デフォルトでは、ローカルドメインだけが使用できます。 

sendmail.cf

ファイル 

メールルーティング用の構成ファイル。 

submit.cf

ファイル 

メール配信プログラム (MSP) のための新しい構成ファイル。詳細は、sendmail の version 8.12 からの submit.cf 構成ファイル」を参照してください。

local-host-names

ファイル 

メールホスト用の別名の数が多すぎるときに作成可能なオプションファイル。 

helpfile

ファイル 

SMTP HELP コマンドで使用するヘルプファイル。

sendmail.pid

ファイル 

リスニングデーモンの PID を一覧表示し、現在は /var/run にあるファイル。

statistics

ファイル 

sendmail 統計ファイル。このファイルが存在すると、sendmail は各メールプログラムのトラフィック量をログに記録します。このファイルは以前 sendmail.st と呼ばれていました。

subsidiary.cf

シンボリックリンク 

サブシステム用の構成ファイルのこの例から sendmail.cf へのシンボリックリンクが、下位互換性を確保するために提供されます。このファイルは、sendmail の version 8.13 では必要ありません。

trusted-users

ファイル 

特定のメール操作を実行するための信頼を与えられたユーザーを一覧表示するファイル (各行 1 ユーザー)。デフォルトでは、root だけがこのファイルに入っています。信頼されていないユーザーが特定のメール操作を実行すると、X-Authentication-Warning: header being added to a message という警告が生成されます。

/etc/mail/cf ディレクトリの内容

/etc/mail ディレクトリには、sendmail.cf ファイルを構築するために必要なすべてのファイルを含む cf というサブディレクトリがあります。表 14–9cf ディレクトリの内容を示します。

Solaris 10 以降のリリースでは、読み取り専用の /usr ファイルシステムをサポートするために、/usr/lib/mail ディレクトリの内容が /etc/mail/cf ディレクトリに移動されました。ただし、例外があります。シェルスクリプト /usr/lib/mail/sh/check-hostname および /usr/lib/mail/sh/check-permissions は、/usr/sbin ディレクトリに置かれるようになりました。「メールサービスに使用するその他のファイル」を参照してください。下位互換性を確保するために、シンボリックリンクが各ファイルの新しい位置を示します。

表 14–9 メールサービスに利用する /etc/mail/cf ディレクトリの内容

名前 

種類 

説明 

README

ファイル 

構成ファイルを説明します。 

cf/main.cf

シンボリックリンク 

Solaris 10 リリース以降、このファイル名は cf/sendmail.cf にリンクされます。このファイルはメインの構成ファイルとして使用されます。

cf/main.mc

シンボリックリンク 

Solaris 10 リリース以降、このファイル名は cf/sendmail.mc にリンクされます。このファイルは、メインの構成ファイルを作成するためのファイルでした。

cf/Makefile

ファイル 

新しい構成ファイルを作成する場合の規則を提供します。 

cf/submit.cf

ファイル 

メッセージを送信するためのメール配信プログラム (MSP) のための構成ファイルです。 

cf/submit.mc

ファイル 

submit.cf ファイルの構築に使用されるファイルです。このファイルは、メール配信プログラム (MSP) のための m4 マクロを定義します。

cf/sendmail.cf

ファイル 

sendmail のためのメインの構成ファイルです。 

cf/sendmail.mc

ファイル 

sendmail.cf ファイルの生成に使用される m4 マクロが含まれています。

cf/subsidiary.cf

シンボリックリンク 

Solaris 10 リリース以降、このファイル名は cf/sendmail.cf にリンクされます。別のホストから /var/mail を NFS マウントするホストのための構成ファイルとして使用されます。

cf/subsidiary.mc

シンボリックリンク 

Solaris 10 リリース以降、このファイル名は cf/sendmail.mc にリンクされます。このファイルには、subsidiary.cf ファイルの生成に使用された m4 マクロが含まれています。

domain

ディレクトリ 

サイトに依存するサブドメインの説明を提供します。 

domain/generic.m4

ファイル 

Berkeley Software Distribution からの汎用ドメインファイルです。 

domain/solaris-antispam.m4

ファイル 

sendmail 関数を以前の Solaris 版の sendmail のようにする変更を伴うドメインファイルです。ただし、リレーは完全に無効に設定されるので、ホスト名のない送信者アドレスは拒否され、解決されないドメインは拒否されます。

domain/solaris-generic.m4

ファイル 

sendmail 関数を以前の Solaris 版の sendmail のようにする変更を伴うデフォルトのドメインファイルです。

feature

ディレクトリ 

特定のホスト用の特別な機能の定義を含みます。機能の詳細な説明は README を参照してください。

m4

ディレクトリ 

サイトに依存しないインクルードファイルを含みます。 

mailer

ディレクトリ 

localsmtpuucp などのメールプログラムの定義を含みます。

main-v7sun.mc

ファイル 

廃止: Solaris 10 リリース以降、このファイル名は cf/sendmail.mc に変更されました。

ostype

ディレクトリ 

各種のオペレーティングシステム環境を説明します。 

ostype/solaris2.m4

ファイル 

デフォルトのローカルメールプログラムを mail.local に定義します。

ostype/solaris2.ml.m4

ファイル 

デフォルトのローカルメールプログラムを mail.local に定義します。

ostype/solaris2.pre5.m4

ファイル 

ローカルメールプログラムを mail に定義します。

ostype/solaris8.m4

ファイル 

ローカルメールプログラムを LMTP モードで mail.local に定義し、IPv6 を有効にし、sendmail.pid ファイルのディレクトリとして /var/run を指定します。

subsidiary-v7sun.mc

ファイル 

廃止: Solaris 10 リリース以降、このファイル名は cf/sendmail.mc に変更されました。

/usr/lib ディレクトリの内容

次の表にメールサービスに使用する /usr/lib ディレクトリの内容を示します。

表 14–10 /usr/lib ディレクトリの内容

名前 

種類 

説明 

mail.local

ファイル 

メールボックスにメールを配信するメールプログラム。 

sendmail

ファイル 

メール転送エージェントとしても知られるルーティングプログラム。 

smrsh

ファイル 

sendmail|program 構文を使用して /var/adm/sm.bin ディレクトリにあるプログラムに対して sendmail を実行できるプログラムを制限するシェルプログラム (sendmail に限定されたシェル)。/var/adm/sm.bin に含める内容については、smrsh(1M) のマニュアルページを参照してください。有効にするには、この m4 コマンドと FEATURE(`smrsh') を mc ファイルに含めます。

mail

シンボリックリンク 

シンボリックリンクは /etc/mail/cf ディレクトリを示します。詳細は、/etc/mail/cf ディレクトリの内容」を参照してください。

メールサービスに使用するその他のファイル

メールサービスは、その他のいくつかのファイルおよびディレクトリを使用します。これらを表 14–11 に示します。

表 14–11 メールサービスに使用するその他のファイル

名前 

種類 

説明 

/etc/default/sendmail

ファイル 

sendmail の起動スクリプトの環境変数を一覧表示します。

/etc/shells

ファイル 

有効なログインシェルを一覧表示します。 

/etc/mail/cf/sh

ディレクトリ 

m4 構築プロセスと移行補助に使用するシェルスクリプトを含みます。

/usr/sbin/check-permissions

ファイル 

:include: 別名と .forward ファイルのアクセス権、および正確なアクセス権に必要なこれらの親ディレクトリのパスを確認します。

/usr/sbin/check-hostname

ファイル 

sendmail が完全指定のホスト名を判別できることを確認します。

/usr/sbin/editmap

ファイル 

sendmail のデータベースマップの単一のレコードに対してクエリーを実行して編集します。

/usr/sbin/in.comsat

ファイル 

メール通知デーモン。 

/usr/sbin/makemap

ファイル 

入力されたマップのバイナリ形式を構築します。 

/usr/sbin/newaliases

シンボリックリンク 

/usr/lib/sendmail へのシンボリックリンク。別名データベースのバイナリ形式を作成するために使用します。以前は /usr/bin にありました。

/usr/sbin/syslogd

ファイル 

sendmail が使用するエラーメッセージログをとるデーモン。

/usr/sbin/etrn

ファイル 

クライアント側リモートメールキューを起動するための Perl スクリプト。 

/usr/dt/bin/dtmail

ファイル 

CDE メールユーザーエージェント。 

/var/mail/mailbox1 /var/mail/mailbox2

ファイル 

配信されたメールのメールボックス。 

/var/spool/clientmqueue

ディレクトリ 

クライアントデーモンによって配信されるメールの記憶領域。 

/var/spool/mqueue

ディレクトリ 

マスターデーモンによって配信されるメールの記憶領域。 

/var/run/sendmail.pid

ファイル 

リスニングデーモンの PID を表示するファイル。 

メールプログラム間の相互作用

メールサービスは次のプログラムで構成され、図 14–2 のように作用します。

図 14–2 メールプログラム間の相互作用

図については本文で説明します。

次に、メールプログラムの相互作用について説明します。

  1. ユーザーは、mailx などのプログラムを使ってメッセージを送信します。詳細は、mailx(1) のマニュアルページを参照してください。

  2. メッセージは、そのメッセージを生成したプログラムによって収集され、sendmail デーモンに渡されます。

  3. sendmail デーモンがメッセージのアドレスを識別可能な各部に分割して解析します。sendmail デーモンは、/etc/mail/sendmail.cf という構成ファイルの情報を使ってネットワーク名の構文、別名、転送情報、およびネットワークトポロジを決定します。sendmail はこの情報を使用して、メッセージが受信者に到達する経路を決定します。

  4. sendmail デーモンはメッセージを適切なシステムに渡します。

  5. ローカルシステムの /usr/lib/mail.local プログラムは、メッセージの受信者の /var/mail/username ディレクトリのメールボックスにメールを配信します。

  6. 受信者は、メールが届いたことが通知されるので、mailmailx などのプログラムを使用してメールを受け取ります。

sendmail プログラム

次に、sendmail プログラムの機能の一部を示します。

Solaris オペレーティングシステムでは、sendmail プログラムをメールルーターとして使用します。次に、機能の一部を示します。

sendmail の詳細は、次のトピックを参照してください。

sendmail とその再ルーティングメカニズム

sendmail プログラムでは、メールルーティングに必要な 3 つのメカニズムをサポートしています。適切なメカニズムは、変更の種類によって決まります。

さらに、選択する再ルーティングメカニズムによって必要な管理レベルが異なります。次のオプションを考慮してください。

  1. 再ルーティングメカニズムの 1 つは「別名」です。

    別名を使用すれば、使用するファイルの種類に基づいて、サーバー全体またはネームサービス全体をベースにしてアドレス名をマップできます。

    次に、ネームサービスの別名の長所と短所を示します。

    • ネームサービス別名ファイルを使用すれば、メール再ルーティングの変更を単一のソースで管理できます。ただし、ネームサービスの別名指定では、再ルーティングの変更を伝達する際に遅延が起こります。

    • 通常、ネームサービスの管理は、特定のシステム管理者グループに制限されます。一般ユーザーは、このファイルを管理しません。

    次に、サーバー別名ファイルを使用する際の長所と短所を示します。

    • サーバー別名ファイルを使用すれば、指定されたサーバーの root になることができる任意のユーザーが再ルーティングを管理できます。

    • サーバー別名指定は、再ルーティングの変更を伝達する際の遅延はほとんどありません。

    • 変更はローカルサーバーだけに影響します。ほとんどのメールが単一のサーバーに送信される場合は、影響が少なくなります。ただし、この変更を多くのメールサーバーに伝達する必要がある場合は、ネームサービスの別名指定を使用します。

    • 一般ユーザーは、この変更を管理しません。

    詳細は、この章の 「メール別名ファイル」を参照してください。作業マップについては、第 13 章メールサービス (手順)「メール別名ファイルの管理 (作業マップ)」を参照してください。

  2. 次のメカニズムは、「転送」です。

    このメカニズムでは、ユーザーがメールの再ルーティングを管理できます。ローカルユーザーは、受信メールを次の対象に再ルーティングできます。

    • 別のメールボックス

    • 別のメールプログラム

    • 別のメールホスト

    このメカニズムは、.forward ファイルによってサポートされます。.forward ファイルの詳細は、この章の .forward ファイル」を参照してください。作業マップについては、.forward ファイルの管理 (作業マップ)」第 13 章メールサービス (手順)を参照してください。

  3. 最後のメカニズムは、「取り込み」です。

    このメカニズムでは、root アクセス権を持たないユーザーも別名リストを保守できます。このメカニズムを提供するには、root ユーザーは、サーバー上の別名ファイル内に適切なエントリを作成する必要があります。このエントリが作成されると、ユーザーは必要に応じてメールをルーティングし直すことができるようになります。取り込みの詳細は、この章の /etc/mail/aliases ファイル」を参照してください。作業マップについては、第 13 章メールサービス (手順)「メール別名ファイルの管理 (作業マップ)」を参照してください。


    注 –

    /usr/bin/mailx のようなメールを読み取るプログラムは、プログラム自身の別名を持つことができ、それらはメッセージが sendmail に達する前に展開されます。sendmail の別名は、ローカルファイル、NIS、NIS+ など、さまざまなネームサービスソースからのものでもかまいません。検索順序は nsswitch.conf ファイルによって決定されます。nsswitch.conf(4) のマニュアルページを参照してください。


sendmail プログラムの機能

sendmail プログラムには、次のような機能があります。

sendmail 構成ファイル

「構成ファイル」は、sendmail がその機能を実行する方法を制御します。構成ファイルにより、配信エージェント、アドレスの変換の規則、およびメールヘッダーのフォーマットが選択されます。sendmail プログラムは、/etc/mail/sendmail.cf ファイルの情報を使用して、その機能を実行します。

Solaris オペレーティングシステムには、/etc/mail ディレクトリに次の 2 つのデフォルト構成ファイルがあります。

  1. デーモンモードで sendmail を実行するために使用する sendmail.cf 構成ファイル。

  2. デーモンモードの代わりにメール配信プログラムモードで sendmailを実行するために使用する submit.cf 構成ファイル。詳細は、sendmail の version 8.12 からの submit.cf 構成ファイル」を参照してください。

メールクライアント、メールサーバー、メールホスト、メールゲートウェイを設定するときは、次を考慮してください。

次に、サイトの要求に応じて変更が可能な構成パラメータをいくつか説明します。

メール別名ファイル

別名を保守するには、次のファイル、マップ、またはテーブルを使用します。

別名を保守する方法は、だれが使用し、だれが変更するかによって決まります。別名のタイプにはそれぞれ固有の形式要件があります。

関連する作業については、「メール別名ファイルの管理 (作業マップ)」第 13 章メールサービス (手順)を参照してください。

.mailrc の別名

.mailrc ファイルのリストに入っている別名には、ファイルを所有するユーザーしかアクセスできません。この制限により、ユーザーは自分で制御し、所有者だけが使用できる別名を作成できます。.mailrc ファイルの別名の形式は、次のとおりです。


alias aliasname value value value ...

aliasname は、ユーザーがメールの送信時に使用する名前であり、value は有効な電子メールアドレスです。

ユーザーが scott に個人的な別名を作成し、それがネームサービスの scott の電子メールアドレスと一致しない場合、エラーが発生します。そのユーザーが作成したメールにユーザーが返信しようとするときに、メールが間違ったユーザーに転送されることになります。これを回避するには、別の別名命名方式を使用する以外にありません。

/etc/mail/aliases ファイル

/etc/mail/aliases ファイルで作成したいずれの別名も、その別名の名前と、ファイルを含んでいるシステムのホスト名を知っているユーザーならだれでも使用できます。ローカルの /etc/mail/aliases ファイルの配布リストの形式は、次のとおりです。


aliasname: value,value,value ...

aliasname は、ユーザーがこの別名にメールを送信するときに使用する名前で、value は有効な電子メールアドレスになります。

使用するネットワークがネームサービスを実行していない場合は、各システムの /etc/mail/aliases ファイルにすべてのメールクライアントのエントリを入れておく必要があります。各システムのファイルを編集するか、1 つのシステムのファイルを編集してからそのファイルをほかのシステムに個々にコピーします。

/etc/mail/aliases ファイルの別名は、テキスト形式で保存されます。/etc/mail/aliases ファイルを編集するときには、newaliases プログラムを実行する必要があります。このプログラムは、データベースをコンパイルし直し、sendmail プログラムが別名をバイナリ形式で使用できるようにします。作業手順については、「ローカルメール別名ファイルを設定する方法」第 13 章メールサービス (手順)を参照してください。それ以外の場合、Solaris 管理コンソールの「メーリングリスト」機能を使ってローカルの /etc ファイルに保存されているメール別名を管理できます。

現在のホスト名やホスト名なしなどのローカル名のみに別名を作成できます。たとえば、システム saturn にメールボックスのあるユーザー ignatz の別名エントリには、/etc/mail/aliases ファイルの次のエントリが入ります。


ignatz: ignatz@saturn

各メールサーバーに管理アカウントを作成する必要があります。管理アカウントを作成するには、メールサーバーのメールボックスを root に割り当て、root のエントリを /etc/mail/aliases ファイルに追加します。たとえば、システム saturn がメールボックスサーバーの場合は、エントリ root: sysadmin@saturn/etc/mail/aliases ファイルに追加します。

通常は、root ユーザーだけがこのファイルを編集できます。ただし、Solaris 管理コンソールを使用する場合は、sysadmin グループであるグループ 14 のすべてのユーザーが、ローカルファイルを変更できます。または、次のエントリを作成します。


aliasname: :include:/path/aliasfile

aliasname は、ユーザーがメールを送信するときに使用する名前であり、/path/aliasfile は別名リストを含むファイルへのフルパスになります。別名ファイルには、各行に 1 つの電子メールエントリを入れ、その他の表記は付けないでください。


user1@host1
user2@host2

/etc/mail/aliases に追加のメールファイルを定義して、ログやバックアップコピーの管理もできます。次のエントリでは、aliasname に送信されるすべてのメールを filename 内に格納します。


aliasname: /home/backup/filename

また、ほかのプロセスにメールを回送することもできます。次の例のように入力すると、メールメッセージのコピーが filename 内に格納され、コピーがプリントされます。


aliasname: "|tee -a /home/backup/filename |lp"

作業マップについては、第 13 章メールサービス (手順)「メール別名ファイルの管理 (作業マップ)」を参照してください。

NIS aliases マップ

ローカルドメインのすべてのユーザーは、NIS aliases マップのエントリを使用できます。sendmail プログラムは、ローカルの /etc/mail/aliases ファイルの代わりに NIS aliases マップを使って送信アドレスを決定できるからです。詳細は、nsswitch.conf(4) のマニュアルページを参照してください。

NIS aliases マップの別名は、次のようになります。


aliasname: value,value,value ...

aliasname は、ユーザーがメールの送信時に使用する名前であり、value は有効な電子メールアドレスです。

NIS aliases マップには、すべてのメールクライアント用のエントリを含めてください。一般にこれらのエントリを変更できるのは、NIS マスターの root ユーザーだけです。この種の別名は頻繁に変更される場合には適していません。次の構文例のように、ほかの別名ファイルをポイントする場合には役立ちます。


aliasname: aliasname@host

aliasname はユーザーがメールを送信するときに使用する名前であり、host/etc/mail/alias ファイルを含むサーバー用のホスト名です。

作業手順については、「NIS mail.aliases マップを設定する方法」第 13 章メールサービス (手順)を参照してください。

NIS+ mail_aliases テーブル

NIS+ mail_aliases テーブルには、名前が含まれており、それによってローカルドメインにおけるシステムや個人が登録されています。sendmail プログラムは、ローカルの /etc/mail/aliases ファイルの代わりに NIS+ mail_aliases テーブルを使用して、メールアドレスを決定できます。詳細は、aliasadm(1M)nsswitch.conf(4) のマニュアルページを参照してください。

NIS+ mail_aliases テーブルの別名は次のようになります。


alias: expansion # ["options" # "comments"]

表 14–12 に、NIS+ mail_aliases テーブルの 4 つの列を示します。

表 14–12 NIS+ mail_aliases テーブルの列

列 

説明 

別名

別名の名前 

expansion

sendmail /etc/mail/aliases ファイルに表示される別名の値または別名のリスト

options

今後の使用のために予約された列 

comments

個々の別名のコメントのための列 

NIS+ mail_aliases テーブルには、すべてのメールクライアントのエントリを含めてください。NIS+ aliases テーブルでは、aliasadm コマンドで、エントリの表示、作成、変更、および削除ができます。aliasadm コマンドを使用するには、aliases テーブルを所有する NIS+ グループのメンバーでなければなりません。作業手順については、「メール別名ファイルの管理 (作業マップ)」第 13 章メールサービス (手順)を参照してください。Solaris 管理コンソールを使用して NIS+ メール別名を管理することもできます。


注 –

新規の NIS+ aliases テーブルを作成する場合は、エントリを作成する前にテーブルを初期設定する必要があります。テーブルが存在するときは、初期設定は不要です。


.forward ファイル

ホームディレクトリに .forward ファイルを作成すると、sendmail およびその他のプログラムは、メールのリダイレクトや送信にこのファイルを使用できます。次の節を参照してください。

作業マップについては、.forward ファイルの管理 (作業マップ)」第 13 章メールサービス (手順)を参照してください。

回避すべき状況

次に、容易に回避または修復できる状況を示します。

.forward ファイルの制御

メール配信で .forward ファイルを有効に使用するために、アクセス権などの次の設定が正しく適用されていることを確認してください。

.forward.hostname ファイル

.forward.hostname ファイルを作成すれば、特定のホストに送信されるメールをリダイレクトできます。たとえば、ユーザーの別名が sandy@phoenix.example.com から sandy@example.com に変更された場合は、sandy のホームディレクトリに .forward.phoenix ファイルを置きます。


% cat .forward.phoenix
sandy@example.com
"|/usr/bin/vacation sandy"
% cat .vacation.msg
From: sandy@example.com (via the vacation program)
Subject: my alias has changed

My alias has changed to sandy@example.com.
Please use this alias in the future.
The mail that I just received from you
has been forwarded to my new address.

Sandy

この例では、メールが正しい宛先に転送され、送信者には別名の変更が通知されます。vacation プログラムではメッセージファイルは 1 つしか使用できないため、この場合 1 回につき 1 つのメッセージしか転送できません。ただし、メッセージが特定のホストに限定されない場合、.forward ファイルで複数のホストに同じ休暇メッセージファイルを使用できます。

.forward+detail ファイル

転送メカニズムの拡張機能にはこの他に、.forward+detail ファイルがあります。detail 文字列には、演算子文字を除く任意の文字を使用できます。演算子文字は、.:%&!^[]+ です。この種のファイルを使用すれば、ほかのユーザーが電子メールアドレスを無断で使用しているかどうかを確認できます。たとえば、あるユーザーが、だれかに電子メールアドレス sandy+test1@example.com を使用するように指示した場合、ユーザーは、この別名に配信されるメールを、アドレスに送信されるメールの中から識別できます。デフォルトにより、sandy+test1@example.com の別名に送信されたメールはすべて、この別名と .forward+detail ファイルと突き合わせて検査されます。ここで一致しない場合は、そのメールは最終的に sandy@example.com に配信されますが、ユーザーは、これらのメールの To: メールヘッダー内の変更箇所を調べることができます。

/etc/default/sendmail ファイル

このファイルは、sendmail のための初期設定用オプションを保存し、ホストをアップグレードしたときにオプションが除去されないようにするために使用します。次の変数を使用することができます。

CLIENTOPTIONS=“string

クライアントデーモンで使用する追加オプションを選択します。クライアントデーモンは、クライアントだけのキュー (/var/spool/clientmqueue) の内容を確認し、クライアントキューランナーとして動作します。構文の検査は行われないため、この変数を変更するときは間違えないように注意してください。

CLIENTQUEUEINTERVAL=#

CLIENTQUEUEINTERVAL には、QUEUEINTERVAL オプションと同様に、メールキューの実行間隔を設定します。ただし、CLIENTQUEUEINTERVAL オプションは、マスターデーモンではなくクライアントデーモンの機能を制御します。一般に、マスターデーモンはすべてのメッセージを SMTP ポートに配信できます。ただし、メッセージ負荷が高すぎる場合、またはマスターデーモンが実行されていない場合、メッセージはクライアントだけのキューである /var/spool/clientmqueue に入ります。次に、クライアントだけのキューをチェックするクライアントデーモンがクライアントキューを処理します。

ETRN_HOSTS=“string

SMTP クライアントとサーバーが、定期的なキューの実行を待たずに即座に対話を実行できるようにします。サーバーは、指定されたホストに送信されるキューを即座に配信できます。詳細は、etrn(1M) のマニュアルページを参照してください。

MODE=-bd

sendmail を起動するためのモードを選択します。-bd オプションを使用するか、未定義のままにしておきます。

OPTIONS=string

マスターデーモンで使用される追加オプションを選択します。構文の検査は行われないため、この変数を変更するときは間違えないように注意してください。

QUEUEINTERVAL=#

マスターデーモンのメールキューの実行間隔を設定します。# は正の整数とし、そのあとに秒の場合は s、分の場合は m、時の場合は h、日の場合は d、週の場合は w を付けます。この構文は sendmail の起動前に確認されます。この間隔が負の場合、またはエントリの最後の文字が不適当な場合、この間隔は無視され、sendmail は 15 分のキュー間隔で起動します。

QUEUEOPTIONS=p

キューを実行するたびに新しいキューランナーを作成する代わりに、各実行の間に休止する単一の永続的なキューランナーを使用できるようにします。このオプションに設定可能な値は p だけです。p 以外に設定すると、このオプションは無効になります。