サイトが企業外の電子メールサービスに接続していないか、あるいは企業が 1 つのドメイン内にある場合は、メールサービスを比較的容易に設定できます。
ローカルメール用に 2 つのタイプの構成が必要です。これらの構成については、「ローカルメール専用」 の 図 25-1 を参照してください。ドメイン外のネットワークと通信するためには、さらに 2 つのタイプの構成が必要です。これらの構成については、「ハードウェアコンポーネントの概要」 の 図 24-1 または 「ローカルメールとリモート接続」 の 図 25-2 を参照してください。これらの構成は、同じシステムで組み合わせるか、あるいは別のシステムで提供できます。 たとえば、同じシステムにメールホストとメールサーバーの機能を持たせる場合は、この節の説明に従って、まずそのシステムをメールホストとして設定します。次に、この節の説明に従って、同じシステムをメールサーバーとして設定します。
次のメールサーバーとメールクライアントの設定の手順は、メールボックスが NFS でマウントされているときに適用されます。ただし、メールボックスは通常、ローカルにマウントされた /var/mail ディレクトリで維持されるので、次の手順は必要ありません。
メールサーバーはローカルユーザーにメールサービスを提供するだけなので、設定には特別な手順は必要ありません。ユーザーはパスワードファイルか名前空間にエントリが必要です。またユーザーはメール配信用のローカルのホームディレクトリが必要です (~/.forward ファイルを確認するため)。このため、ホームディレクトリサーバーがしばしばメールサーバーとして設定されます。メールサーバーについては、第 26 章「メールサービス (リファレンス)」 の 「ハードウェアコンポーネント」 でさらに詳しく説明します。
メールサーバーは、メールクライアント宛てにメールを経路指定します。メールサーバーに必要な唯一のリソースは、クライアントメールボックスのための十分なスプール空間です。
クライアントが自分のメールボックスにアクセスできるには、/var/mail ディレクトリがリモートマウントに使用可能であるか、あるいは POP (Post Office Protocol) または IMAP (Internet Message Access Protocol) のようなサービスがサーバーから使用可能でなければなりません。以下では、/var/mail ディレクトリを使ってメールサーバーを設定する方法を示します。このマニュアルでは、POP または IMAP の構成方法については説明しません。
次の作業のために、/var/mail ディレクトリがエクスポートされていることを /etc/dfs/dfstab ファイルで確認します。
メールサーバーのスーパーユーザーになるか、同等の役割になります。
役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。
sendmail を停止します。
# /etc/init.d/sendmail stop |
/var/mail ディレクトリをリモートアクセスに使用できるかどうかを確認します。
# share |
/var/mail ディレクトリが表示された場合は、手順 5 に進みます。
/var/mail ディレクトリが表示されない場合、あるいはリストが表示されない場合は、該当する手順に進みます。
(省略可能) リストが表示されない場合は、NFS サービスを起動します。
「ファイルシステム自動共有を設定する方法」 の手順に従って、 /var/mail ディレクトリを使用して NFS サービスを起動します。
(省略可能) /var/mail ディレクトリがリストに含まれていない場合は、/var/mail ディレクトリを /etc/dfs/dfstab に追加します。
/etc/dfs/dfstab ファイルに次のコマンド行を追加します。
share -F nfs -o rw /var/mail |
ファイルシステムをマウントできるようにします。
# shareall |
ネームサービスが起動されていることを確認します。
(省略可能) NIS を実行している場合は、次のコマンドを使用します。
# ypwhich |
詳細は、ypwhich(1) のマニュアルページを参照してください。
(省略可能) NIS+ を実行している場合は、次のコマンドを使用します。
# nisls |
詳細は、nisls(1) のマニュアルページを参照してください。
(省略可能) DNS を実行している場合は、次のコマンドを使用します。
# nslookup hostname |
hostname |
ホスト名を指定 |
詳細は、nslookup(1M) のマニュアルページを参照してください。
(省略可能) LDAP を実行している場合は、次のコマンドを使用します。
# ldaplist |
詳細は、ldaplist(1) のマニュアルページを参照してください。
sendmail を再起動します。
# /etc/init.d/sendmail start |
mail.local プログラムは、メッセージがはじめて配信されたときに /var/mail ディレクトリでメールボックスを自動的に作成します。メールクライアントの個々のメールボックスを作成する必要はありません。
メールクライアントは、メールボックスがメールサーバーにあり、/etc/mail/aliases ファイルのメール別名がメールボックスの位置を指しているメールサービスのユーザーです。第 26 章「メールサービス (リファレンス)」 の 「ハードウェアコンポーネント」 に、メールクライアントについての簡単な説明があります。
POP (Post Office Protocol) または IMAP (Internet Message Access Protocol) のようなサービスを使ってメールクライアントを設定することもできます。ただし、POP または IMAP の構成方法については、このマニュアルでは説明していません。
メールクライアントシステム上でスーパーユーザーになるか、同等の役割になります。
役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。
sendmail を停止します。
# /etc/init.d/sendmail stop |
メールクライアントのシステムで /var/mail マウントポイントがあることを確認します。
マウントポイントは、インストール過程で作成されています。ls を使用すると、ファイルシステムが存在するかどうかを確認できます。次の例はファイルシステムが作成されていない場合に受け取る応答を示しています。
# ls -l /var/mail /var/mail not found |
/var/mail ディレクトリにファイルが何もないことを確認します。
メールファイルがこのディレクトリにある場合は、それらのファイルを移動させ、サーバーから /var/mail ディレクトリがマウントされる時にその対象とならないようにします。
メールサーバーから /var/mail ディレクトリをマウントします。
メールディレクトリは自動的にマウントすることも、ブート時にマウントすることもできます。
(省略可能) /var/mail を自動的にマウントします。
次のようなエントリを /etc/auto_direct ファイルに追加します。
/var/mail -rw,hard,actimeo=0 server:/var/mail |
server |
割り当てられているサーバー名を指定 |
(省略可能) ブート時に /var/mail をマウントします。
/etc/vfstab ファイルに以下のエントリを追加します。このエントリにより、指定されたメールサーバー上の /var/mail ディレクトリがローカルの /var/mail ディレクトリをマウントできます。
server:/var/mail - /var/mail nfs - no rw,hard,actimeo=0 |
システムをリブートするたびに、クライアントのメールボックスが自動的にマウントされます。 システムをリブートしない場合は、次のコマンドを入力すれば、クライアントのメールボックスをマウントできます。
# mountall |
メールボックスのロックとメールボックスへのアクセスが適切に動作するには、NFS サーバーからメールをマウントする時に actimeo=0 オプションを入れる必要があります。
/etc/hosts を更新します。
/etc/hosts ファイルを編集し、メールサーバーのエントリを追加します。ネームサービスを使用する場合、この手順は必要ありません。
# cat /etc/hosts # # Internet host table # .. IP_address mailhost mailhost mailhost.example.com |
IP_address |
割り当てられている IP アドレスを指定 |
example.com |
割り当てられているドメインを指定 |
mailhost |
割り当てられているメールホストを指定 |
詳細は、hosts(4) のマニュアルページを参照してください。
別名ファイルの 1 つにクライアントのエントリを追加します。
メール別名ファイルの管理に関する作業マップについては、「メール別名ファイルの管理 (作業マップ)」 を参照してください。
mail.local プログラムは、メッセージがはじめて配信されたときに /var/mail ディレクトリでメールボックスを自動的に作成します。メールクライアントの個々のメールボックスを作成する必要はありません。
sendmail を再起動します。
# /etc/init.d/sendmail start |
メールホストは、電子メールアドレスを解決し、ドメイン内でメールを再度ルーティングします。メールホストに適しているシステムは、ドメイン外または親ドメインにネットワークを接続するシステムです。 次に、メールホストを設定する手順を示します。
メールホストシステム上でスーパーユーザーになるか、同等の役割になります。
役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。
sendmail を停止します。
# /etc/init.d/sendmail stop |
ホスト名の構成を確認します。
次のように check-hostname スクリプトを実行し、sendmail が、このサーバーの完全指定のホスト名を識別できるかどうかを確認します。
% /usr/lib/mail/sh/check-hostname hostname phoenix OK: fully qualified as phoenix.example.com |
このスクリプトによる完全指定ホスト名の識別ができなかった場合は、完全指定ホスト名を /etc/hosts 内のホストの最初の別名として追加する必要があります。
/etc/hosts ファイルを更新します。
以下から、適切な手順を選択します。
(省略可能) NIS または NIS+ を使用している場合は、新しいメールホストとして割り当てられたシステムの /etc/hosts ファイルを編集します。
メールホストシステムの IP アドレスとシステム名の後に mailhost と mailhost.domain を追加します。
IP_address mailhost mailhost mailhost.domain loghost |
IP_address |
割り当てられている IP アドレスを指定 |
mailhost |
メールホストシステムのシステム名を指定 |
domain |
拡張ドメイン名を指定 |
これで、このシステムはメールホストとして指定されます。domain は、次のコマンドの出力にサブドメイン名として指定されている文字列と同じにする必要があります。
% /usr/lib/sendmail -bt -d0 </dev/null Version 8.12.0+Sun Compiled with: LDAPMAP MAP_REGEX LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS NISPLUS QUEUE SCANF SMTP USERDB XDEBUG ============ SYSTEM IDENTITY (after readcf) ============ (short domain name) $w = phoenix (canonical domain name) $j = phoenix.example.com (subdomain name) $m = example.com (node name) $k = phoenix ======================================================== |
以上の変更を行なった後の hosts ファイルの例を以下に示します。
# cat /etc/hosts # # Internet host table # 172.31.255.255 localhost 192.168.255.255 phoenix mailhost mailhost.example.com loghost |
(省略可能) NIS または NIS+ を使用しない場合は、ネットワーク内の各システムにある /etc/hosts ファイルを編集して、次のエントリを作成します。
IP_address mailhost mailhost mailhost.domain loghost |
正しい構成ファイルを選択し、コピーして名前を変更します。
次のコマンドは、/etc/mail/main.cf ファイルをコピーし名前を変更します。
# cp /etc/mail/main.cf /etc/mail/sendmail.cf |
sendmail を再起動します。
# /etc/init.d/sendmail start |
メール構成をテストします。
手順については、「メール構成をテストする方法」 を参照してください。
メールホストの詳細については、第 26 章「メールサービス (リファレンス)」 の 「ハードウェアコンポーネント」 を参照してください。
メールゲートウェイは、ドメイン外のネットワークとの通信を管理します。送信側メールゲートウェイ上のメールプログラムは、受信側システムのメールプログラムと同じでなければなりません。
メールゲートウェイに適しているシステムは、Ethernet および電話回線に接続されているシステムか、あるいはインターネットへのルーターとして設定されているシステムです。メールホストをメールゲートウェイとして設定するか、あるいは別のシステムをメールゲートウェイとして設定できます。複数のメールゲートウェイを自分のドメイン用として設定できます。UUCP (UNIX-to-UNIX Copy Program) 接続がある場合は、メールゲートウェイとして UUCP 接続を使ってシステムを構成します。
メールゲートウェイ上でスーパーユーザーになるか、同等の役割になります。
役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。
sendmail を停止します。
# /etc/init.d/sendmail stop |
正しい構成ファイルを選択し、コピーして名前を変更します。
次のコマンドは main.cf ファイルをコピーし名前を変更します。
# cp /etc/mail/main.cf /etc/mail/sendmail.cf |
ホスト名の構成を確認します。
次のように check-hostname スクリプトを実行し、sendmail が、このサーバーの完全指定のホスト名を識別できるかどうかを確認します。
# /usr/lib/mail/sh/check-hostname hostname phoenix OK: fully qualified as phoenix.example.com |
このスクリプトによる完全指定ホスト名の識別ができなかった場合は、完全指定ホスト名を /etc/hosts 内のホストの最初の別名として追加する必要があります。この手順の詳細については、「メールホストを設定する方法」 の 手順 4を参照してください。
ネームサービスが起動されていることを確認します。
(省略可能) NIS を実行している場合は、次のコマンドを使用します。
# ypwhich |
詳細は、ypwhich(1) のマニュアルページを参照してください。
(省略可能) NIS+ を実行している場合は、次のコマンドを使用します。
# nisls |
詳細は、nisls(1) のマニュアルページを参照してください。
(省略可能) DNS を実行している場合は、次のコマンドを使用します。
# nslookup hostname |
hostname |
ホスト名を指定 |
詳細は、nslookup(1M) のマニュアルページを参照してください。
(省略可能) LDAP を実行している場合は、次のコマンドを使用します。
# ldaplist |
詳細は、ldaplist(1) のマニュアルページを参照してください。
sendmail を再起動します。
# /etc/init.d/sendmail start |
メール構成をテストします。
手順については、「メール構成をテストする方法」 を参照してください。
メールゲートウェイの詳細については、第 26 章「メールサービス (リファレンス)」 の 「ハードウェアコンポーネント」 を参照してください。
DNS ネームサービスは、個別の別名をサポートしません。このネームサービスは、MX (メール交換局) レコードおよび cname レコードを使用するホストまたはドメインの別名をサポートします。ホスト名とドメイン名は両方またはいずれか一方を DNS データベースで指定できます。sendmail と DNS の詳細については、第 26 章「メールサービス (リファレンス)」 の 「sendmail とネームサービスの相互作用」、または『Solaris のシステム管理 (ネーミングとディレクトリサービス : DNS、NIS、LDAP 編)』を参照してください。
スーパーユーザー、またはそれと同等の役割になります。
役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。
DNS ホストルックアップ機能を有効にします (NIS のみ)。
/etc/nsswitch.conf ファイルを編集し、dns フラグを含む hosts の定義から # を削除します。DNS ホスト別名を使用するには、次の例に示すように、ホストエントリに dns フラグが含まれている必要があります。
# grep hosts /etc/nsswitch.conf #hosts: nisplus [NOTFOUND=return] files hosts: nisplus dns [NOTFOUND=return] files |
mailhost と mailhost.domain エントリを確認します。
nslookup を使用して、mailhost と mailhost.domain のエントリが DNS データベースに存在することを確認します。 詳細は、nslookup(1M) のマニュアルページを参照してください。
ホストに複数の IP アドレスを割り当てる必要がある場合は、次の Web サイトを参照してください。 http://www.sendmail.org/virtual-hosting.html。このサイトでは、sendmail を使って仮想ホストを設定する方法を詳しく説明しています。ただし、「Sendmail Configuration」の節では、次に示す手順 3b は実行しないでください。
# cd sendmail-VERSION/cf/cf # ./Build mailserver.cf # cp mailserver.cf /etc/mail/sendmail.cf |
代わりに、Solaris オペレーティング環境では、次の手順を実行してください。
# cd /usr/lib/mail/cf # /usr/ccs/bin/make mailserver.cf # cp mailserver.cf /etc/mail/sendmail.cf |
mailserver |
.cf ファイルの名前を指定 |
「sendmail.cf 構成ファイルの構築 (手順) 」 では、構築手順の一部として、これと同じ 3 つの手順を説明しています。
/etc/mail/sendmail.cf ファイルを生成したら、仮想ユーザーテーブルを作成するなど、次の手順へ進むことができます。