パソコンおやじの掲示板
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトル postfix + dovecot をドメインつきで
投稿日: 2012/07/17(Tue) 18:38
投稿者乙さん

初めて投稿します。
現在、CentOS 5.7 で postfix-2.2.3 と dovecot-1.0.7 を使ってメールサーバを構築しようとしています。

やりたいことですが、
(1) 現在、動いているドメイン(hogehoge.comとします)のサブドメイン(newmail.hogehoge.com とします)でメールサーバを動かします。
(2) メールユーザはサーバにログインさせません。つまり、/etc/passwd ファイルに登録しません。
(3) メールユーザの認証はドメイン付きでさせます。つまり、Outlook Express 等において、sample01@hogehoge.com の受信メールサーバのユーザ名の欄は sample01@hogehoge.com とします。
(4) メールボックス形式でメールスプールを構成します。
(5) 認証を dovecot 認証とします。パスワードは PLAIN テキストにしています。

これを実現するために設定を行っていますがどうやってもエラーになります。以下、/var/log/maillog ですが、
---- ここから ----
Jul 17 17:15:08 newmail postfix/smtpd[5687]: connect from unknown[***.***.***.***]
Jul 17 17:15:08 newmail postfix/smtpd[5687]: NOQUEUE: reject: RCPT from unknown[***.***.***.***]: 550 5.1.1 <sample01@newmail.hogehoge.com>: Recipient address rejected: User unknown in local recipient table; from=<********@********.**.jp> to=<sample01@newmail.hogehoge.com> proto=ESMTP helo=<***.********.**.jp>
Jul 17 17:15:09 newmail postfix/smtpd[5687]: disconnect from unknown[***.***.***.***]
---- ここまで ----
という具合です。

設定関係ですが、

shell> postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
delay_warning_time = 1h
html_directory = no
inet_interfaces = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 102400000
mydestination = $myhostname, localhost.$mydomain, localhost, hogehoge.com
mydomain = hogehoge.com
myhostname = newmail.hogehoge.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.3.3/README_FILES
sample_directory = /usr/share/doc/postfix-2.3.3/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP unknown
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/spool/mail/vhosts
virtual_mailbox_domains = $myhostname, localhost.$mydomain $mydomain, hogehoge.com
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000

shell> cat dovecot.conf | grep -v ^" "*\#
protocols = imap imaps pop3 pop3s
ssl_disable = yes
login_greeting = POP3 ready.
mail_location = mbox:/var/spool/mail/vhosts/hogehoge.com/%n
protocol imap {
}
protocol pop3 {
}
protocol lda {
postmaster_address = postmaster@example.com
}
auth default {
mechanisms = plain apop
passdb passwd-file {
args = /etc/dovecot/dovecot-passwd
}
passdb pam {
}
passdb passwd {
args = /etc/dovecot/dovecot-passwd
}
userdb passwd {
}
user = root
}
dict {
}
plugin {
}

/var/spool/mail/vhosts/hogehoge.com のパーミッションは 775、オーナーは root.mail

shell> cat /etc/dovecot/dovecot-passwd
sample01:{PLAIN}1234567890:5000:5000::/home/mails::userdb_mail=maildir:/var/spool/mail/vhosts/hogehoge.com/sample01
sample02:{PLAIN}1234567890:5000:5000::/home/mails::userdb_mail=maildir:/var/spool/mail/vhosts/hogehoge.com/sample02

shell> cat /etc/postfix/vmailbox
sample01@newmail.hogehoge.com hogehoge.com/sample01/
sample02@newmail.hogehoge.com hogehoge.com/sample02/

このファイルは postmap /etc/postfix/vmailbox の実行済み

shell> cat /etc/postfix/master.cf
submission inet n - n - - smtpd
-o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

この行のコメントを外した他は変更なし

shell> cat /etc/passwd | grep mails
mails:x:5000:5000::/home/mails:/sbin/nologin

shell> cat /etc/group | grep mails
mails:x:5000:


以上です。情報に不足があれば御指摘願います。
メールの送信はこのサーバ(newmail.hogehoge.com)上から SMTP コマンドを使って他のサーバに送信ができます。受信側からメールの返信を行うと、ログを見る限りはサーバに到達しているようですが、reject されて戻ってしまいます。また、このサーバ上から SMTP コマンドを使って root を送信者として sample01 宛にメールを送信するとやはり user unknown で戻ってきてしまいます。

shell> telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 newmail.hogehoge.com ESMTP unknown
HELO newmail.hogehoge.com
250 newmail.hogehoge.com
MAIL FROM: root@newmail.hogehoge.com
250 2.1.0 Ok
RCPT TO: sample01@newmail.hogehoge.com
550 5.1.1 <sample01@newmail.hogehoge.com>: Recipient address rejected: User unknown in local recipient table

どうかお力添えを願う次第です。


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ
Eメール
タイトル
メッセージ   手動改行 強制改行 図表モード
参照先
暗証キー (英数字で8文字以内)
確認キー
確認キー
投稿する場合は、左に表示されている3文字(英大文字)の確認キーを必ず入力してください。
 (確認キーは表示してから30分間のみ有効です。)
  プレビュー

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 暗証キー