サーバー構築

メールサーバーの構築メモ

メールサーバーの構築メモ(Postfix)

WEB(WWW)サーバーの次はメールサーバーを構築しましょう。これが完成すれば自由なユーザー名とパスワードでのメールの送受信が可能になります。ただし、BiglobeのOP25Bにはこの方法では対応できません。

設定項目

SMTPサーバーの名前

▼確認または修正
myhostname = YYY.XXX.com
myhostname = [SMTPサーバーの名前]

リモートからのSMTP接続要求に応答するアドレス

▼確認または修正
inet_interfaces = ALL 又は localhost
inet_interfaces = [ネットワークなどの範囲]

このSMTPサーバーが受信するドメイン名リストを指定

▼確認または修正
mydestination = $myhostname, localhost.$mydomain, $mydomain
mydestination = [受信した際の正しいメールアドレスの記述方法の指定]
これで基本的な事はできました。保存してサービスを起動する必要がありますので、「/etc/init.d/postfix start」でまずはサービスを起動させます。以上で「Postfix(SMTPサーバー)」の設定は完了です。これだけで、基本的なSMTPサーバーが構築できるはずです。

注意

良く勘違いをされがちですが、「Postfix」はあくまでSMTPサーバーのソフト(LINUXサービス)であって「POPサーバー」や「IMAPサーバー」のソフトなどはもちろん別途必要ですので注意しましょう。以下にPOPサーバーについて設定を記載しておきます。

POP3/IMAPサーバーの起動をしましょう

私の環境での構築はPOP3/IMAPサーバーはスーパーサーバーデーモンであるxinetd経由で起動することができます。また、起動にするには、以下のコマンドを実行します。

chkconfigでPOP3やIMAPを起動と実行

# chkconfig pop-3 on
# chkconfig imap on
次に既に起動中であるXINEDを再起動します。
# /etc/init.d/xinetd restart

接続を許可する項目を追加する

次に/etc/hosts.allowにPOP3/IMAPで接続されてきた際に、サーバーへの接続を許可するホストを指示します。基本的には以下のよ
うに指定をすれば、インターネットやイントラネットなど全アクセス要求を受け入れるようになります。

POP3とIMAPを許可する設定

ipop3d: ALL
imapd: ALL

このままでは外出先からメールが送れない!?

「Postfix」には、最初から設定で外部からの使用を制限する「第三者中継を拒否する設定」となっています。しかし、外部から「SMTPサーバー」を利用して送信することがこのままだとできません。つまり、イントラネットでの使用のみになります。しかし、外出先からメールを送信したいとか、ある条件で第三者(外出先の自分)によるメール中継を許可したい場合、設定が必要になります。セキュリティーも保持する意味でも広く利用されている手法が「POP before SMTP」と呼ばれている手法です。

POP before SMTP は、POPによるユーザー認証をSMTPで利用することによって中継を許可することができますPOP before SMTP の実装には、いくつかの方法があるみたいです。

外出先からメールを送ろう!

私の環境では「Postfix」と「POP」と「IMAPサーバー」が同じホスト上で稼働していることを前提に解説します。この場合、編集が必要な設定ファイルは、「/etc/sysconfig/dracd」です。

ここで設定するのは主に2点です。

  • ENABLE_DRAC=”no”(yes に変更)
  • EXPIRE_TIME=”数字”(リレーを許可する IP アドレスの保持時間)
    →EXPIRE_TIMEの数字はリレーを許可するIPアドレスの保持時間を示しています。あなたの環境に応じて変更してください。この数字の単位は「分」となりますので、注意しましょう。また、POP before SMTPの設定項目はまだあり、SMTPサーバー(Postfix)の方も一緒に設定しなければなりません。

Postfix側の設定

「/etc/postfix/main.cf」というファイルに次の行を追加します。
smtpd_recipient_restrictions = permit_mynetworks, check_client_access
btree:/etc/dracd/dracd, check_relay_domains

サービスの再起動

コンフィグを変更して有効にする為に、必ずサービスを起動や再起動しなければなりません。以下のコメントでうまく起動すれば外部からのメール送信ができます。つまり、POP before SMTPの完成です。

# /etc/init.d/portmap start
# /etc/init.d/dracd start
# /etc/init.d/postfix restart

注意

ここで落とし穴があります。この設定が成功し、サービスが正常に起動していても接続できない場合があります。それはまずブロードバンドルーターの設定とメール送受信ソフトの関連です。OUTLOOKであれば送信メールサーバーの項目のこのサーバーは認証が必要の部分にチェックを入れなければなりません。

OP25B対策について

BIGLOBEのプロパイダーの為、OP25B対策にバリバリ引っかかってしまいました。対策はあることにはあるのですが、非常に条件が厳しく、送付できなくしました。中継という概念を導入しましたが、IDとパスワードが必要などBIGLOBEのプロパイダーでのサーバー構築は固定IPを取得した上での構築か、他のプロパイダーをお勧めします。 BIGLOBEはこういう人たちのことを何も考えていませんから(苦)