CentOSサーバー構築マニュアル

Postfix Dovecot インストール


■Postfixインストール
[root@ns1 ~]# yum -y install postfix

■Postfix設定
[root@ns1 ~]# cp /etc/postfix/main.cf /etc/postfix/main.cf.org
[root@ns1 ~]# vi /etc/postfix/main.cf

#myhostname = host.domain.tld
↓
myhostname = ns1.centos.orz ←コメント解除&変更

#mydomain = domain.tld
↓
mydomain = centos.orz ←コメント解除&変更

#myorigin = $mydomain
↓
myorigin = $mydomain ←コメント解除

inet_interfaces = localhost
↓
inet_interfaces = all ←変更

mydestination = $myhostname, localhost.$mydomain, localhost
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ←変更

#home_mailbox = Maildir/
↓
home_mailbox = Maildir/ ←コメント解除

#mailbox_command = /some/where/procmail
↓
mailbox_command = /usr/bin/procmail ←コメント解除&変更

#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
↓
smtpd_banner = $myhostname ESMTP unknown ←コメント解除&変更

↓最終行に下記を記入
# Cyrus-SASL configuration
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients = yes
message_size_limit = 10485760

※黄色い部分は環境に合わせて変更してください。

ヒント

smtpd_sasl_auth_enable = yes ←SASLによるSMTP-Authを許可する
smtpd_sasl_local_domain = $myhostname ←realmを設定する
smtpd_sasl_security_options = noanonymous ←匿名ログインを許可しない
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination ←リレー許可を設定
broken_sasl_auth_clients = yes ←AUTHコマンドを認識できないメールソフトに対応させる
message_size_limit = 10485760 ←受信できる最大サイズを設定

■エイリアスの設定
[root@ns1 ~]# vi /etc/aliases

root:		hoge@centos.orz ←最終行に追加(root宛のメールを転送)
[root@ns1 ~]# postalias /etc/aliases ←設定を反映

※黄色い部分は環境に合わせて変更してください。

■SMTP-Auth設定 (PAM認証の場合)
[root@ns1 ~]# /etc/rc.d/init.d/saslauthd start
[root@ns1 ~]# chkconfig saslauthd on
[root@ns1 ~]# chkconfig --list saslauthd
saslauthd       0:off   1:off   2:on    3:on    4:on    5:on    6:off

■SMTP-Auth設定 (SASL認証の場合)
[root@ns1 ~]# vi /usr/lib/sasl2/smtpd.conf

pwcheck_method: saslauthd
↓
pwcheck_method: auxprop ←変更
[root@ns1 ~]# echo 'hoge12345' | saslpasswd2 -c -u ns1.centos.orz hoge [root@ns1 ~]# sasldblistusers2 hoge@ns1.centos.orz: userPassword [root@ns1 ~]# chgrp postfix /etc/sasldb2

※黄色い部分は環境に合わせて変更してください。

ヒント

sasldbを使用するとパスワードをシステムと別管理できます。
「saslpasswd2 -c -u ドメイン名(realm) ユーザー名」でユーザーを追加します。
「saslpasswd2 -u ドメイン名(realm) ユーザー名」でパスワードを変更します。
「-d」オプションでユーザーを削除します。(例:saslpasswd2 -d hoge@ns1.centos.orz)
「sasldblistusers2」でユーザーを確認することができます。

■sendmail停止
[root@ns1 ~]# /etc/rc.d/init.d/sendmail stop
[root@ns1 ~]# chkconfig sendmail off
[root@ns1 ~]# alternatives --config mta
2 プログラムがあり 'mta'を提供します。

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

Enterを押して現在の選択[+]を保持するか、選択番号を入力します:2 ←2を入力してエンター

■Postfix起動
[root@ns1 ~]# /etc/rc.d/init.d/postfix start
[root@ns1 ~]# chkconfig postfix on
[root@ns1 ~]# chkconfig --list postfix
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off

■Dovecotインストール
[root@ns1 ~]# yum -y install dovecot

■dovecot.conf編集
[root@ns1 ~]# cp /etc/dovecot.conf /etc/dovecot.conf.org
[root@ns1 ~]# vi /etc/dovecot.conf

#protocols = imap imaps pop3 pop3s
↓
protocols = imap imaps pop3 pop3s ←コメント解除(imap imaps pop3 pop3s対応)

#mail_location =
↓
mail_location = maildir:~/Maildir ←コメント解除&変更(メールボックスをMaildir形式にする)

■dovecot起動
[root@ns1 ~]# /etc/rc.d/init.d/dovecot start
[root@ns1 ~]# chkconfig dovecot on
[root@ns1 ~]# chkconfig --list dovecot
dovecot         0:off   1:off   2:on    3:on    4:on    5:on    6:off

■既存ユーザー用メールディレクトリ作成
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/new
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/cur
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/tmp
[root@ns1 ~]# chmod -R 700 /home/hoge/Maildir
[root@ns1 ~]# chown -R hoge:hoge /home/hoge/Maildir

※黄色い部分は環境に合わせて変更してください。

■追加ユーザー用メールディレクトリ作成
[root@ns1 ~]# mkdir -p /etc/skel/Maildir/new
[root@ns1 ~]# mkdir -p /etc/skel/Maildir/cur
[root@ns1 ~]# mkdir -p /etc/skel/Maildir/tmp
[root@ns1 ~]# chmod -R 700 /etc/skel/Maildir/

■procmail設定
[root@ns1 ~]# vi /etc/procmailrc

↓下記を記入
SHELL=/bin/bash
PATH=/bin:/usr/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmail.log
#VERBOSE=ON # 詳細ログ出力

# 件名に「未承諾広告※」を含むメールを破棄
:0
* ^Subject:.*iso-2022-jp
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -mwZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'
/dev/null

※件名に「未承諾広告※」を含むメールを破棄する。

■Procmailログローテーション
[root@ns1 ~]# vi /etc/logrotate.d/procmail

/home/*/Maildir/procmail.log {
    missingok
    nocreate
    notifempty
}

■メール送信テスト
[root@ns1 ~]# echo test|mail hoge
[root@ns1 ~]# ls /home/hoge/Maildir/new
1271581750.7041_0.ns1.centos.orz
[root@ns1 ~]# rm -f /home/hoge/Maildir/new/* ←削除

※黄色い部分は環境に合わせて変更してください。

■POP3接続確認
[root@ns1 ~]# telnet localhost 110

Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
USER hoge
+OK
PASS hoge12345
+OK Logged in.
LIST
+OK 0 messages:
.
QUIT
+OK Logging out.
Connection closed by foreign host.

※黄色い部分は環境に合わせて変更してください。

■BASE64エンコードでパスワード作成
[root@ns1 ~]# perl -MMIME::Base64 -e 'print encode_base64("hoge\0hoge\0hoge12345");'
aG9nZQBob2dlAGhvZ2UxMjM0NQ==

※黄色い部分は環境に合わせて変更してください。

ヒント

SMTP-Auth確認の際、BASE64エンコードで作成されたパスワードを使用します。
encode_base64()の書式は encode_base64("ユーザー名\0ユーザー名\0パスワード")

■SMTP接続確認
[root@ns1 ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 ns1.centos.orz ESMTP unknown
EHLO localhost
250-ns1.centos.orz
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN aG9nZQBob2dlAGhvZ2UxMjM0NQ==
235 2.0.0 Authentication successful
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

※黄色い部分は環境に合わせて変更してください。

■Outlook Expressの設定(POPの場合)

01.「ツール」>「アカウント」をクリック。



02.「追加」>「メール」をクリック。



03.「表示名」を記入して「次へ」をクリック。



04.「電子メールアドレス」を記入して「次へ」をクリック。



05.受信メールサーバー、送信メールサーバーのIPアドレスまたはホスト名を記入して「次へ」をクリック。



06.アカウント名とパスワードを記入して「次へ」をクリック。



07.「完了」をクリック。



08.「プロパティ」をクリック。



09.「このサーバーは認証が必要」にチェックを入れて「OK」をクリック。



10.「閉じる」をクリック。


■SMTP-AUTHで別のアカウントを使用する場合

11.アカウントのプロパティのサーバータブで「設定」をクリック。



12.「次のアカウントとパスワードでログオンする」を選択。
SMTP-Auth用のアカウントとパスワードを記入して「OK」をクリック。


■Outlook Expressの設定(IMAPの場合)

01.「ツール」>「アカウント」をクリック。



02.「追加」>「メール」をクリック。



03.「表示名」を記入して「次へ」をクリック。



04.「電子メールアドレス」を記入して「次へ」をクリック。



05.「受信メールサーバーの種類」から「IMAP」を選択。
受信メールサーバー、送信メールサーバーのIPアドレスまたはホスト名を記入して「次へ」をクリック。



06.アカウント名とパスワードを記入して「次へ」をクリック。



07.「完了」をクリック。



08.作成したアカウントを選択して「プロパティ」をクリック。



09.「このサーバーは認証が必要」にチェックを入れて「OK」をクリック。



10.「閉じる」をクリック。



11.「はい」をクリック。



12.「OK」をクリック。

外部に公開する場合

プロトコル(TCP)ポート25番(SMTP)を開放。
プロトコル(TCP)ポート110番(POP3)を開放。
プロトコル(TCP)ポート143番(IMAP)を開放。


Home PageTop Last updated 2010-08-25

このサイトはリンクフリーです。ご自由にリンクしてください。 Copyright centos.server-manual.com