Oracle® Solaris 11.2 での sendmail サービスの管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

ソフトウェアコンポーネント

各メールサービスには、少なくとも次のいずれかのソフトウェアコンポーネントが含まれます。

このセクションでは、次のソフトウェアコンポーネントについても説明します。

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

「メールユーザーエージェント」は、ユーザーとメール転送エージェント間のインタフェースとして機能するプログラムです。sendmail プログラムは、メール転送エージェントです。Oracle Solaris オペレーティングシステムは、次のメールユーザーエージェントを提供します。

  • /usr/bin/mail

  • /usr/bin/mailx

メール転送エージェント

メール転送エージェントは、メールメッセージのルーティングとメールアドレスの解決を行います。このエージェントは、「メールトランスポートエージェント」とも呼ばれます。Oracle Solaris オペレーティングシステムの転送エージェントは sendmail です。転送エージェントは次の機能を実行します。

  • メールユーザーエージェントからメッセージを受信する

  • 宛先アドレスを解決する

  • 適切な配信エージェントを選択してメールを配信する

  • ほかのメール転送エージェントからのメールを受信する

ローカル配信エージェント

ローカル配信エージェントは、メール配信プロトコルを実行するプログラムです。Oracle Solaris オペレーティングシステムには、次のローカル配信エージェントが提供されています。

  • UUCP ローカル配信エージェント (uux を使ってメールを配信する)

  • ローカル配信エージェント (標準の Oracle Solaris リリースでは mail.local)

sendmail の version 8.12 からの変更点 では、次の関連項目について説明します。

メールプログラムと sendmail

メールプログラムは、sendmail 固有の用語です。メールプログラムsendmail によって使用され、カスタマイズされたローカル配信エージェントまたはカスタマイズされたメール転送エージェントの特定のインスタンスを特定します。sendmail.cf ファイルに少なくとも 1 つのメールプログラムを指定する必要があります。タスク情報については、Chapter 2, メールサービスの管理sendmail 構成を変更するを参照してください。このセクションでは、2 種類のメールプログラムについて説明します。

メールプログラムの詳細は、http://www.sendmail.org/m4/readme.htmlhttp://www.sendmail.org/m4/readme.html または /etc/mail/cf/README を参照してください。

SMTP (Simple Mail Transfer Protocol) メールプログラム

SMTP はインターネットで使用される標準のメールプロトコルです。このプロトコルが、メールプログラムを定義します。

UUCP (UNIX-to-UNIX Copy Program) メールプログラム

UUCP の使用は、できるだけ避けてください。説明については、http://www.sendmail.org/m4/uucp_mailers.htmlhttp://www.sendmail.org/m4/uucp_mailers.html を参照するか、/etc/mail/cf/READMEUSING UUCP MAILERS という文字列を検索してください。

UUCP が、メールプログラムを定義します。

uucp-old

$=U クラスの名前が uucp-old に送られます。suucp は、このメールプログラムの以前の名前です。uucp-old メールプログラムはヘッダーでは感嘆符を用いるアドレスを使用します。

uucp-new

$=Y クラスの名前が uucp-new に送られます。受信側の UUCP メールプログラムが単一の転送で複数の受信者を管理できる場合は、このメールプログラムを使用します。suucp は、このメールプログラムの以前の名前です。uucp-new メールプログラムはヘッダーで感嘆符を用いるアドレスも使用します。

構成に MAILER(smtp) も指定されている場合は、さらに次の 2 つのメールプログラムが定義されます。

uucp-dom

このメールプログラムは、ドメインスタイルアドレスを使用し、基本的に SMTP のリライトルールを適用します。

uucp-uudom

$=Z クラスの名前が uucp-uudom に送られます。uucp-uudomuucp-dom は、ドメインスタイルアドレスという同じヘッダーアドレス書式を使用します。


注 - smtp メールプログラムは UUCP メールプログラムを変更するので、.mc ファイルの MAILER(uucp) の前に必ず MAILER(smtp) を記述します。

メールアドレス

メールアドレスには、受信者の名前と、メールメッセージが配信されるシステムが含まれます。ネームサービスを使用しない小さなメールシステムを管理する場合、メールのアドレス指定は簡単です。つまり、ログイン名がユーザーを一意に識別します。メールボックスを含む複数のシステムで構成されるメールシステム、または 1 つ以上のドメインで構成されるメールシステムを管理する場合は複雑になります。UUCP またはその他のメールシステムによってネットワーク外部のサーバーに接続する場合は、さらに複雑になります。次のセクションで、メールアドレスの各部とその複雑さを説明しています。

ドメインとサブドメイン

電子メールのアドレス指定には、ドメインが使用されます。「ドメイン」は、ネットワークアドレスの命名のためのディレクトリ構造です。ドメインは 1 つ以上の「サブドメイン」を持つことができます。アドレスのドメインとサブドメインは、ファイルシステムの階層と比較できます。サブディレクトリが上位のディレクトリに含まれるように、メールアドレスの各サブドメインもその右のドメインに含まれると考えられます。

次の表に最上位のドメインを示します。

表 3-6  最上位のドメイン
ドメイン
説明
com
商用サイト
edu
教育機関用サイト
gov
米国の政府機関
mil
米国の軍事機関
net
ネットワーク組織
org
その他の非営利組織

ドメインには大文字と小文字の区別がありません。アドレスのドメイン部分には、大文字、小文字、またはその両方を混合したものを、問題なく使用できます。

ネームサービスドメイン名とメールドメイン名

ネームサービスドメイン名とメールドメイン名を操作するときは、次のことに注意します。

  • sendmail プログラムは、デフォルトで NIS ドメイン名から最初のコンポーネントを取り除き、メールドメイン名とします。たとえば、NIS ドメイン名が bldg5.example.com の場合、そのメールドメイン名は example.com になります。

  • メールドメインアドレスは大文字と小文字の区別をしませんが、NIS ドメイン名は異なります。最善の結果のために、メールと NIS ドメイン名を設定するときは小文字を使用してください。

  • DNS ドメイン名とメールドメイン名は同じでなければなりません。

詳細は、sendmail とネームサービスの相互作用を参照してください。

メールアドレスの一般的な書式

一般に、メールアドレスは次のような書式になります。詳細は、経路に依存しないメールアドレスを参照してください。

user@subdomain. ... .subdomain2.subdomain1.top-level-domain

アドレスの @ 記号より左の部分はローカルアドレスです。ローカルアドレスには、次の内容を含めることができます。

  • 別のメールトランスポートを使用するルーティングに関する情報 (たとえば、bob::vmsvax@gateway または smallberries%mill.uucp@gateway)

  • 別名 (たとえば、iggy.ignatz)


注 - 受信側のメールプログラムでアドレスのローカル部分を解釈する必要があります。メールプログラムの詳細は、メールプログラムと sendmailを参照してください。

アドレスの @ 記号より右の部分は、ローカルアドレスが位置するドメインレベルを示します。各サブドメインはドットで区切られます。アドレスのドメイン部分は、組織、物理的な場所、または地域を表すことができます。さらに、ドメイン情報の順序は階層的で、ローカルなサブドメインほど @ 記号に近くなります。

経路に依存しないメールアドレス

メールアドレスは、経路に依存しないアドレス指定ができます。経路に依存しないアドレス指定では、電子メールメッセージの発信者は、受信者の名前と最終の宛先を指定する必要があります。インターネットなどの高速ネットワークでは、経路に依存しないアドレスを使用します。経路に依存しないアドレスは次のような書式になります。

user@host.domain

UUCP 接続の経路に依存しないアドレスは次のような書式になります。

host.domain!user

コンピュータのドメイン階層命名スキームが普及したため、経路に依存しないアドレスがより一般的になってきました。実際、次に示すように、もっとも一般的な経路に依存しないアドレスはホスト名を省略し、電子メールメッセージの最終宛先の識別をドメインネームサービスに任せています。

user@domain

経路に依存しないアドレスは、まず @ 記号を検索して読み取られます。次に、ドメイン階層が右 (最上位) から左 (@ 記号の右側にあるもっとも固有な部分) へと読み取られます。

メールボックスファイル

メールボックス」は、電子メールメッセージの最終的な宛先となるファイルです。メールボックス名には、ユーザー名または postmaster などの特定の機能の名前を指定できます。メールボックスは、ユーザーのローカルシステムかリモートのメールサーバーのいずれかの /var/mail/username ファイルにあります。ただし、いずれの場合でも、メールボックスはメールが配信されるシステム上にあります。

ユーザーエージェントがメールスプールからメールを取り出し、ローカルメールボックスに容易に格納できるように、メールは常にローカルファイルシステムに配信される必要があります。ユーザーのメールボックスの宛先として、NFS でマウントされたファイルシステムを使用しないでください。特にリモートサーバーから /var/mail ファイルシステムをマウントしているメールクライアントには、直接メールを送信しないでください。この場合ユーザー宛てのメールは、クライアントのホスト名ではなく、メールサーバーにアドレス指定する必要があります。NFS でマウントされたファイルシステムは、メールの配信と処理に問題を起こすことがあります。

/etc/mail/aliases ファイルと NIS などのネームサービスは、電子メールアドレスの別名を作成するためのメカニズムを提供します。したがって、ユーザーは、個々のユーザーのメールボックスの正確なローカル名を知る必要はありません。

次の表に、特殊な目的のメールボックスに対する共通の命名規則をいくつか示します。

表 3-7  メールボックス名の書式についての規則
形式
説明
username
多くの場合、ユーザー名はメールボックス名と同じです。
Firstname. Lastname Firstname_ Lastname Firstinitial. Lastname Firstinitial_ Lastname
ユーザー名は、ファーストネームとラストネームをドット (またはアンダースコア) で区切ったフルネーム。または、ファーストネームをイニシャルにして、イニシャルとラストネームをドット (またはアンダースコア) で区切ったもの。
postmaster
ユーザーは、postmaster のメールボックスに質問を送ったり、問題点を報告したりできます。通常は各サイトとドメインに postmaster メールボックスがあります。
MAILER-DAEMON
sendmail は、MAILER-DAEMON 宛てのメールを自動的にポストマスターに送ります。
aliasname-request
-request で終わる名前は、配布リストの管理アドレス。このアドレスは、配布リストを管理する人にメールをリダイレクトします。
owner-aliasname
owner- で始まる名前は、配布リストの管理アドレス。このアドレスは、メールエラーを処理する人にメールをリダイレクトします。
owner-owner
この別名は、エラーを戻す先の owner-aliasname の別名がない場合に使用されます。このアドレスは、メールエラーを処理する人にメールをリダイレクトします。このアドレスは、大量の別名を管理する任意のシステムで定義されます。
local%domain
パーセント記号 (%) は、メッセージがその宛先に着くと展開されるローカルアドレスを示します。ほとんどのメールシステムは、% 記号付きのメールボックス名を完全なメールアドレスとして解釈します。%@ と置き換えられ、メールはそれに応じてリダイレクトされます。多くの人が % を使用しますが、これは正式な標準ではありません。この規則は「パーセントハック」と呼ばれます。この機能は、メールの問題のデバッグを支援するために使用されることがよくあります。

sendmail version 8 より、所有者の別名が存在する場合、グループの別名に送信されるメールの封筒の送信者は、所有者の別名から展開されるアドレスに変更されました。この変更によって、メールエラーは、送信者に返送されるのではなく、別名の所有者に送信されるようになりました。この変更によって、別名に送信されたメールは、別名の所有者から送信されたように見えます。次の別名の書式は、この変更に関連したいくつかの問題に対応します。

mygroup: :include:/pathname/mygroup.list
owner-mygroup: mygroup-request
mygroup-request: sandys, ignatz

この例では、mygroup の別名が、このグループの実際のメール別名です。owner-mygroup の別名は、エラーメッセージを受信します。mygroup-request の別名は、管理の要求に使用してください。この構造は、mygroup の別名に送信されたメールでは、封筒の送信者が mygroup-request に変更されることを意味します。

メール別名

「別名 (alias) 」とは、もう 1 つの別の名前を指します。電子メールでは、メールボックスの場所を割り当てたり、メールリストを定義したりするために別名を使用できます。タスクマップについては、Chapter 2, メールサービスの管理メール別名ファイルの管理 (タスクマップ)を参照してください。この章の メール別名ファイルも参照してください。

大きなサイトでは通常、メール別名は、メールボックスの場所を定義します。メール別名を提供することは、複数の部屋を占有する大きな会社の個人のアドレスに部屋番号を含めるようなものです。部屋番号を提供しない場合は、メールは中央アドレスに配信されます。部屋番号がなければ、ビルの内部のどこにメールを配信するかを特定するために余分な労力が必要になります。そして、誤りが発生する可能性も増加します。たとえば、同じ建物に Kevin Smith という名前の人が 2 人いる場合、一方だけがメールを受け取ることになる可能性があります。この問題を解決するには、それぞれの Kevin Smith のアドレスに部屋番号を追加する必要があります。

メールリストを作成するときは、なるべくドメインの場所に依存しないアドレスを使用してください。別名ファイルの移植性と柔軟性を高めるため、別名エントリをできるかぎり一般的でシステムに依存しない形式にしてください。たとえば、システム mars のドメイン example.comignatz というユーザー名がある場合、別名は ignatz@mars ではなく、ignatz@example としてください。ユーザー ignatz がシステム名を変更しても、example ドメインには存在し続ける場合、システム名の変更を反映するように別名ファイルを更新する必要はありません。

別名エントリを作成するときは、1 行ごとに 1 つの別名を入力します。ユーザーのシステム名を含むエントリは 1 つだけにしてください。たとえば、ユーザー ignatz には、次のエントリを作成できます。

ignatz: iggy.ignatz
iggyi: iggy.ignatz
iggy.ignatz: ignatz@mars

ローカル名やドメインに別名を作成できます。たとえば、システム mars にメールボックスがある、ドメイン planets 内のユーザー fred の別名エントリでは、NIS 別名マップに次のエントリを作成できます。

fred: fred@planets

ドメイン外のユーザーを含むメールリストを作成するときは、ユーザー名とドメイン名を持つ別名を作成してください。たとえば、example.com ドメインの privet システムに smallberries というユーザーが存在する場合は、smallberries@example.com という別名を作成します。送信者の電子メールアドレスは、メールがユーザードメイン外に発信されるときは、完全指定ドメイン名に自動的に変換されます。

次に、メール別名のファイルを作成して管理する方法を示します。

  • NIS aliases マップ、または、ローカルの /etc/mail/aliases ファイルでグローバルな使用のためのメール別名を作成できます。また、同じ別名ファイルを使用するメールリストを作成して管理することができます。

  • メールサービスの構成によっては、NIS ネームサービスを使って別名を管理し、グローバルな aliases データベースを保持できます。または、すべてのローカル /etc/mail/aliases ファイルを更新して、別名の同期を維持することもできます。

  • また、ユーザー自身が別名を作成して使用できます。ユーザーは、別名をユーザーだけが使用できるようにローカル ~/.mailrc ファイルで作成することも、だれでも使用できるようにローカル /etc/mail/aliases ファイルで作成することもできます。通常、ユーザーは NIS 別名ファイルの作成および管理はできません。