CentOSにpostfix&Dovecotでメールサーバ構築(ローカルネットワークのみで使う場合)

外部には公開せずに、メールの送信や受信するアプリ用のテストサーバとして内部用に使うメールサーバを構築する。

送信メールサーバ

設定ファイル内の「dev-srv.com」は適当なドメインです。

今インストールされているMTAの確認
$ alternatives --display mta
postfixnのインストール
$ yum install -y postfix
postfixの設定
$ vi /etc/postfix/main.cf
#外部からのメール受信を許可
inet_interfaces = all
#メールサーバのネットワーク
mynetworks = 192.168.0.0/24
#メールボックス形式をMaildir形式にする
home_mailbox = Maildir/
#メールサーバーソフト名の隠蔽化
smtpd_banner = $myhostname ESMTP unknown

#以下文末に追加
#SMTP-Auth設定
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

#受信メールサイズ制限
message_size_limit = 10485760
SMTP-Auth設定

SMTP-Authにシステムのユーザ名、パスワードを共通で使う

$ /etc/rc.d/init.d/saslauthd start
saslauthd を起動中:                                        [  OK  ]
$ chkconfig saslauthd on
$ chkconfig --list saslauthd
saslauthd       0:off   1:off   2:on    3:on    4:on    5:on    6:off
sendmailの停止
$ /etc/rc.d/init.d/sendmail stop 
sendmailを停止中:                                           [  OK  ]
sm-clientを停止中:                                         [  OK  ]
chkconfig sendmail off
chkconfig --list sendmail
sendmail        0:off   1:off   2:off   3:off   4:off   5:off   6:off
メールサーバの切替え
$ alternatives --config mta
2 プログラムがあり 'mta'を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
    2           /usr/sbin/sendmail.postfix

Enterを押して現在の選択[+]を保持するか、選択番号を入力します:2
postfix起動
$ /etc/rc.d/init.d/postfix start 
postfix を起動中:                                          [  OK  ]
$ chkconfig postfix on
$ chkconfig --list postfix
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
メールの送信確認
$ sendmail.postfix sakamoto@r-3.co.jp
From :admin@dev-srv.com
Subject:test mail
this is a test mail
.

telnetで確認する方法もある

受信メールサーバ

Dovecotのインストール
$ yum install -y dovecot
Dovecot設定
$ vi /etc/dovecot.conf
# 以下の記述を追記
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
Dovecot起動
$ /etc/rc.d/init.d/dovecot start
$ chkconfig dovecot on
$ chkconfig --list dovecot
dovecot         0:off   1:off   2:on    3:on    4:on    5:on    6:off

ユーザ設定

ログイン不可ユーザを追加
$ useradd -s /sbin/nologin hoge
$ passwd hoge
Changing password for user hoge.
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

クライアント設定

メールクライアント設定

メールアドレス:作成したユーザ名@dev-srv.com
POP3:192.168.0.99
SMTP:192.168.0.99
POP before SMTP

送信時

あて先を「作成したユーザ名@localhost」にして送れば、自分宛に送信することが可能

関連書籍

Postfix実用ガイド
Postfix実用ガイド
posted with amazlet at 08.08.06
カイル・D. デント
オライリージャパン
売り上げランキング: 44841