このページではLinuxで構築した自宅サーバーで、受信メールサーバーとしてUW IMAP利用する方法について初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
メールサーバーの構築

メールサーバーについて

電子メールシステムについて

メールアカウントの作成

POP/IMAPサーバーの設定

Sendmailの設定

Postfixの設定

ユーザー認証によるメール送信

SMTP AUTHの設定

POP/IMAP before SMTP

dracによるPBS構築
(WBEL3,CentOS3(i386))

Pop-before-smtpの設定
(WBEL3,4_CentOS3,4+UW IMAP)

Pop-before-smtpの設定
(WBEL4_CentOS4,5+Dovecot)

SquirrelMailの設定

サブミッションポートの設定

メールの転送設定のコツ

メールサーバーのコントロール

メールサーバーの動作チェック

ポートフォワーディングの設定


WBEL3,CentOS3のMRAは古典的な"UW IMAP"

WBEL3 または CentOS3 をこの コンテンツ に従って インストール すると、 UW IMAP が MRA としてインストールされているはずです。

UW IMAPは、POPサーバーとIMAPサーバーを統合した アプリケーション で、旧バージョンや セキュリティ バージョンなどに対応した数種類のメール受信用 プロトコル を扱うことができます。

現在の MUA は一般的に POP3 と IMAP4 を利用しますが、高度な セキュリティ を要する場合は、別のプロトコルを使います。

もちろん、UW IMAPはそういったセキュアなプロトコルも扱うことができます。

ただし、一般的な利用の場合はPOP3とIMAP4で何ら問題はありませんので、このコンテンツではPOP3とIMAP4について利用のための設定方法を説明します。

とはいうものの、実は設定らしい設定は特にありません。単純に、必要な デーモン を起動するだけです。

POP3もIMAP4も、「ユーザー名とパスワードを送信して、 サーバー 上のメールデータにアクセスする」という非常に単純な動作しかしませんから、 vsFTPd や Apache のように、設定ファイルを編集しなければならないようなパラメータがない、というのがその理由です。

起動設定は、まず ntsysv コマンド で設定画面を開き、 "ipop3" と "imap" にチェックを入れます。

もちろん、どちらか一方しか必要なければ、必要なほうにだけチェックを入れてください。

受信メールサーバーにPOP3を使うかIMAP4を使うかは、実際にメールの送受信を行う クライアント機 のMUAで選択しますが、意味がよくわからないときはとりあえず両方にチェックを入れておいて構いません。

ipop3とimapをntsysvで自動起動登録する
"ipop3"と"imap"を"ntsysv"で自動起動登録する

これらのデーモンは単独の アプリケーション ではなく、 xinetd 依存のデーモンですから、ntsysvで行った設定を有効にするにはxinetdを再起動してください。

[root@web1 root]# /etc/init.d/xinetd restartEnter
xinetdを停止中:                      [ OK ]
xinetdを起動中:                      [ OK ]
[root@web1 root]#

ipop3やimapについては何もメッセージが出ませんが、これで設定は有効になります。

設定を無効にしたい場合は、ntsysvでチェックをはずし、同様にxinetdを再起動します。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

WBEL4,CentOS4,CentOS5のMRAは先進的な"Dovecot"

WBEL4 や CentOS4 、CentOS5をこの コンテンツ に従って インストール すると、 Dovecot が MRA としてインストールされているはずです。

Dovecotは、POPサーバーとIMAPサーバーなどを統合した新しい アプリケーション で、 セキュリティ の高いMRAとして注目されています。

現在の MUA は一般的に POP3 と IMAP4 を利用しますが、高度な セキュリティ を要する場合は、別の プロトコル を使います。もちろん、Dovecotはそういったセキュアなプロトコルも扱うことができます。

Dovecotの設定は、主設定ファイル "/etc/dovecot.conf" を編集して行います。

"/etc/dovecot.conf" では非常に多くの設定を行うことができますが、一般的な利用の場合はPOP3とIMAP4の二つのプロトコルさえ利用できれば何ら問題はありません。

従ってここではPOP3とIMAP4について利用のための設定方法だけを説明します。

まず、 サブネット 内の適当な クライアント機 から SSHクライアント で 構築中のLinuxサーバー に ログイン します SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4) SSHクライアントでサーバーに接続する(CentOS5) 。

それから su コマンドで アカウント を "root" に変更し、 cp コマンドでバックアップを作成した後、 nano エディタで "/etc/dovecot.conf" を開きます nanoエディタでファイルを開く 。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# cp /etc/dovecot.conf /etc/dovecot.conf.orgEnter
[root@web1 ~]# nano /etc/dovecot.confEnter

↓

"/etc/dovecot.conf"の内容は、WBEL4,CentOS4の場合とCentOS5の場合とでかなり異なりますので両方掲載しています。
WBEL4,CentOS4の/etc/dovecot.conf
WBEL4,CentOS4の"/etc/dovecot.conf"

CentOS5の/etc/dovecot.conf
CentOS5の"/etc/dovecot.conf"

"/etc/dovecot.conf" は、Dovecotが動作中でも自由に書き換えることができます。

ただし、WBELやCentOSの サーバー アプリケーション は通常、設定ファイルを保存しただけでは設定は反映されません。もちろんdovecotも例外ではありません。

サーバーアプリケーションの設定ファイルは、通常サーバーアプリケーションの起動時に参照されて読み込まれますから、設定ファイルの保存後にサーバーアプリケーションの再起動を行うか、設定ファイルの再読み込みのコマンドを実行しなければ、設定ファイルの修正は有効になりませんので注意してください。

"/etc/dovecot.conf" の一般書式は、

[ ディレクティブ ] = [パラメータ]

です。

先頭が "#" で始まる行は設定から無視されますので、一時的に利用しない設定やコメントなどに適宜利用してください。

さて、 "/etc/dovecot.conf" で編集が必要なのは、上の 赤枠 の部分だけです。

WBEL4、CentOS4の場合はこのようになっています。

# Protocols we want to be serving:
# imap imaps pop3 pop3s
#protocols = imap imaps

一方、CentOS5の場合はこのようになっています。

# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
#protocols = imap imaps pop3 pop3s

一行目と二行目はコメント行で、三行目が実際に設定を行う部分です。

デフォルト ではこのように設定行である三行目もコメント化されていますので、POP3とIMAP4の利用を有効にするには次のように編集してください。

protocols = imap pop3

もしもどちらかのプロトコルしか使用しない場合は、 "pop3" か "imap" のどちらか一方だけを記述しておけばOKです。

編集が終わったら "/etc/dovecot.conf" を保存し、nanoエディタを閉じてください nanoエディタを閉じる 。

次に プロンプト から、Dovecotの起動・停止 スクリプト を使ってDovecotを起動します。

[root@web1 ~]# /etc/init.d/dovecot startEnter
Dovecot Imap を起動中:                  [ OK ]
[root@web1 ~]#

"/etc/dovecot.conf" の内容を変更したときは、Dovecotを停止して起動しなおすか、再起動する必要があります。

Dovecotの停止、再起動は、以下のように行います。

[root@web1 ~]# /etc/init.d/dovecot stopEnter
Dovecot Imap を停止中:                  [ OK ]
[root@web1 ~]# /etc/init.d/dovecot startEnter
Dovecot Imap を起動中:                  [ OK ]
[root@web1 ~]# /etc/init.d/dovecot restartEnter
Dovecot Imap を停止中:                  [ OK ]
Dovecot Imap を起動中:                  [ OK ]
[root@web1 ~]#

MRAは必要に応じて起動すべきものではなく、 メールサーバー を利用するときは常に稼動させておく必要のあるアプリケーションです。

従ってDovecotは 構築中のLinuxサーバー の起動時に自動的に起動するように設定しておきましょう。

方法は ntsysv コマンド で設定画面を開き、 dovecot デーモン にチェックを入れておくだけです。

dovecotをntsysvで自動起動登録する
"dovecot"を"ntsysv"で自動起動登録する

以上でDovecotの基本的な動作設定は完了です。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

いきなりメールを送受信してみる(WBEL3,CentOS3,WBEL4,CentOS4,CentOS5共通)

MRA の動作を確認するには、やはり 構築中のLinuxサーバー からメールを受信してみるのが一番です。

まず、同じ LAN 内の任意の ホスト機 の MUA で、次のようにメールアカウントを設定してください。

メールアドレス: tanaka@obenri.com

受信メールサーバー(POP3): mail.obenri.com

送信メールサーバー(SMTP): mail.obenri.com

アカウント名またはユーザー名: tanaka

パスワード: web1.obenri.comシステム上のtanakaのパスワード

例えば、 Outlook Express の場合は、以下のように設定します。


MUAの設定例(Outlook Express「全般」)


MUAの設定例(Outlook Express「サーバー」)

次に、 MTA として、 Sendmail を起動します。

[root@web1 ~]# /etc/init.d/sendmail startEnter
sendmailを起動中:                     [ OK ]
sm-clientを起動中:                     [ OK ]
[root@web1 ~]#

Sendmailはまだ何の設定も行っていませんから、 デフォルト の設定でしか動作しません。つまり ホスト 内からホスト内の アカウント へしかメールを送ることができません。

Sendmailがメールを送信するためには、ホスト機自身の FQDN が hostsファイル または、 DNSサーバー で、 ループバックアドレス または、 IPアドレス "192.168.100.11"に 名前解決 されなければなりません。
ここまで来ていれば、もうきちんと設定済みのはずですが...。

そこで、MUAからではなく、ここでは 構築中のLinuxサーバー の プロンプト から mail コマンド でテストメールをtanaka宛てに送信します。

[root@web1 ~]# printenv | mail tanakaEnter printenvコマンドについて パイプ処理について
  ↑"root"の環境変数をtanakaにメールします。
[root@web1 ~]#

mailコマンドは正常にメールを送信することができなくてもエラーを表示しないことがありますので、念のため 構築中のLinuxサーバー のメールボックスにメールが届いているかどうか確認してみましょう。

メールボックスは、 "/var/spool/mail/tanaka" というファイルです。tanaka宛てに送られてきたメールは、この一つのファイルに追加書き込みされていきます。

メールデータの内容は必ずしもこのとおりにはなりません。OSやSendmailのバージョンや設定によって様々です。
[root@web1 ~]# ls -l /var/spool/mail/Enter lsコマンドについて
合計 4
-rw-rw----  1 suzuki  mail      0 11月 23 10:52 suzuki
-rw-rw----  1 tanaka  mail     1569 2月 13 21:08 tanaka
-rw-rw----  1 yamada  mail      0 1月 1 16:21 yamada
[root@web1 ~]# cat /var/spool/mail/tanakaEnter catコマンドについて
  ↑"tanaka"のメールボックスの内容を表示してみます。
From root@web1.obenri.com Mon Feb 13 21:08:25 2006
Return-Path: <root@web1.obenri.com>
Received: from web1.obenri.com (localhost.localdomain [127.0.0.1])
    by web1.obenri.com (8.12.11/8.12.11) with ESMTP id k1DC8Oux001778
    for <tanaka@web1.obenri.com>; Mon, 13 Feb 2006 21:08:24 +0900
Received: (from root@localhost)
    by web1.obenri.com (8.12.11/8.12.11/Submit) id k1DC8OWd001776
  for tanaka; Mon, 13 Feb 2006 21:08:24 +0900
Date: Mon, 13 Feb 2006 21:08:24 +0900
From: root <root@web1.obenri.com>
Message-Id: <200602131208.k1DC8OWd001776@web1.obenri.com>
To: tanaka@web1.obenri.com

HOSTNAME=web1.obenri.com
SHELL=/bin/bash
中略
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/usr/bin/printenv

[root@web1 ~]#

もしもメールが受信できていないときは、Sendmailの異常ではなく、 サーバー 自身のネットワーク設定に問題があります。

host コマンドなどで名前解決テストを行い、 ping コマンドで、 web1.obenri.com と mail.obenri.com に パケット が通れば設定はOKです。

ここできちんとメールが送信できない場合は、この後の設定を行っても意味がありませんので、もう一度 構築中のLinuxサーバー 本体のネットワーク設定 web1.obenri.comのネットワーク設定(WBEL3) web1.obenri.comのネットワーク設定(CentOS3) web1.obenri.comのネットワーク設定(WBEL4) web1.obenri.comのネットワーク設定(CentOS4) web1.obenri.comのネットワーク設定(CentOS5) 、及びhostsファイルまたはDNSサーバーの設定 web1.obenri.comの名前解決の設定 を参考に、最低でも "web1.obenri.com" と "mail.obenri.com" が IPアドレス "192.168.100.11" に 名前解決 されるように設定を修正してください。

サーバー内でメールが正常に送られていることが確認できたら、先ほど設定を行ったMUAでメールを受信してみてください。次のようなメールが受信できるはずです。

受信したテストメール(Outlook Express)
受信したテストメール(Outlook Express)

きちんと受信できない場合は、 FQDN "mail.obenri.com" が、お使いのホスト機でIPアドレス "192.168.100.11" に名前解決できていません。

もう一度LAN内のDNSサーバーの設定 web1.obenri.comの名前解決の設定 DNSサーバー設置後のサブネット内の各ホスト機への設定 か、またはhostsファイルの設定 サブネット内のホスト機へのhostsファイルの設定 を確認し、適宜修正してください。

動作チェックは、 サブネット内のホスト機からの名前解決のチェック を参考にしてください。

これらの部分に問題がなければ、必ずテストメールは受信できます。

このセクションでは、これから MTA や ルーター に対して様々な設定を行っていきますが、この動作がうまく行かない場合には先に進んでも仕方がありません。

最低限ここまでの動作はきちんと押さえておいてください。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

サーバー管理レポート送信先の設定(WBEL3,CentOS3,WBEL4,CentOS4,CentOS5共通)

WBEL や CentOS は、自身の動作状態や各 アプリケーション の重要な動作 ログ を、自動的にメールで "root" アカウント 宛てに送信するように設定されています crondについて 。

メールは原則として毎日一通づつ送られてきますが、重要なエラーについてはその都度送られてくることもあります。

このリポートメールは サーバー を管理するうえで非常に重要になる情報ですので、受信してチェックする必要がありますが、このメールを "root@obenri.com"で受信してはいけません 。

MUA でメールを受信するには、必ず MRA に対してユーザー名とパスワードを送信しなければなりませんが、 "root@obenri.com"の場合、そのパスワードはいうまでもなく "root" アカウントへの ログイン パスワードです。

POP3 や IMAP4 では、これらの送信内容は暗号化されないため、理屈からいえば傍受可能ですからこういう行為は避けたほうが賢明です。

そこで、rootアカウントのログインパスワードをネットワーク上に流さないようにするため、root宛てのメールは全て自動的に別の ユーザーアカウント に転送するように設定し、その転送先のアカウントのメールを受信するようにします。

設定は、 "/etc/aliases" ファイルを修正して行います。

"/etc/aliases"は、 Sendmail 及び Postfix が参照するメールの転送リストです。

設定の詳細は メールの転送設定について で詳しく説明しますが、とりあえずここでは nanoエディタ で"/etc/aliases"を開き nanoエディタでファイルを開く 、ファイルの末尾の記述を以下のように修正してください。

※上は省略
# Person who should get root's mail
#root:     marc

↓修正

※上は省略
# Person who should get root's mail
root:     tanaka
コンピュータはテキストファイルを参照して動作するより、コンピュータが理解しやすいバイナリファイルを参照したほうが高速に動作できるため、しばしばこういった テキスト→バイナリ 変換を行うことがあります。

実はSendmailやPostfixは、この"/etc/aliases"という テキスト ファイルを直接参照するわけではなく、"/etc/aliases"から作成される"/etc/aliases.db"という バイナリ の データベース ファイルを参照します。

そこで、"/etc/aliases"を保存したら、 プロンプト から次の コマンド を実行してください。"/etc/aliases.db"が再構築されます。

[root@web1 ~]# newaliasesEnter
/etc/aliases: 70 aliases, longest 10 bytes, 689 bytes total
[root@web1 ~]#

これでroot宛てのメールはすべてtanaka宛てに送られるようになりました。

試しにプロンプトから、

[root@web1 ~]# printenv | mail rootEnter
[root@web1 ~]#

と実行してroot宛てにテストメールを送り、先ほど MUA で設定したtanakaアカウントで受信してみてください。先ほどと同じメールがもう一度tanaka宛に送られてきているはずです。

これで、リポートメールは以後ずっとtanaka宛てに送られてくるようになりました。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System