- - PR -
Postfix+MySQLを使用したメールサーバの構築について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-04-11 10:17
はじめて投稿させて頂きます。
現在、Postfix+MySQL+dovecotで仮想アカウントを使用したメール環境を構築しています。 ローカルPCのOutlook Expressから送信を行うとRelay access deniedと拒否をされてしまいます。 (info@example.comからtest@example2.comに送信) 受信側は特に問題なく動作しております。 おそらくリレーの設定に不備があると思われるのですが、どの部分に問題があるのか分からない状態です。 どなたか原因または解決策をご存知の方はいらっしゃいませんか? 環境と設定内容は以下になります。 ◆RHEL ES4 ◆Postfix-2.3.8 ◆MySQL-5.0.24a ◆dovecot-1.0.rc29 ◆postconf -n alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 1 home_mailbox = Maildir/ html_directory = no inet_interfaces = all local_recipient_maps = unix:passwd.byname $alias_maps $virtual_mailbox_maps local_transport = local mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydomain = example.com myhostname = mail.example.com myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.2.10/README_FILES sample_directory = /usr/share/doc/postfix-2.2.10/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop unknown_local_recipient_reject_code = 550 virtual_gid_maps = mysql:/etc/postfix/virtual-gid.cf.mysql virtual_mailbox_base = /usr/local/vhosts virtual_mailbox_domains = mysql:/etc/postfix/virtual-domains.cf.mysql virtual_mailbox_limit = 51200000 virtual_mailbox_maps = mysql:/etc/postfix/virtual-mailbox.cf.mysql virtual_transport = virtual virtual_uid_maps = mysql:/etc/postfix/virtual-uid.cf.mysql ◆virtual-gid.cf.mysqlファイル hosts = localhost user = user password = password dbname = db query = SELECT gid FROM virtual_account WHERE mail_address='%s' ◆virtual-uid.cf.mysqlファイル hosts = localhost user = user password = password dbname = db query = SELECT uid FROM virtual_account WHERE mail_address='%s' ◆virtual-mailbox.cf.mysqlファイル hosts = localhost user = user password = password dbname = db query = SELECT mailbox FROM virtual_account WHERE mail_address='%s' ◆virtual-domains.cf.mysqlファイル hosts = localhost user = user password = password dbname = db query = SELECT domain FROM virtual_account WHERE mail_address='%s' ◆DBの内容 uid | gid | password | name | mail_address | mailbox | domain -------------------------------------------------------------------------------------------- 1000 | 1000 | password | info | info@example.com | example.com/info | example.com | ||||||||
|
投稿日時: 2007-04-11 10:49
要するにオープンリレーを許可するクライアントはどうなっているか? ということだと思うのですが。 ネットワーク的に許すのか、smtp authで許すのか etc. ま、ポリシー次第ですが。 postconf -nの結果からすれば特に各種restrictionの設定をいじっているワケでは なさそうなので smtpd_recipient_restrictionsの設定で拒否されていると思いますよ。 ネットワーク的に許すならmynetworksをいじるんでしょうね。 postconf -nにはmynetworksはいないようなので 標準でサーバのブロードキャストドメインが設定されているはずです。 # postconf | grep ^mynetworks で確認された方が良いでしょうね。 ローカルPCってのは違うネットワークセグメントなのでしょうか? とりあえずどういうポリシーにしたいか分かりませんので http://www.kobitosan.net/postfix/trans-2.3/jhtml/SMTPD_ACCESS_README.html を読まれてみては如何ですか。 こういう時の処理内容をトレースしたいならdebug_peer_listに ローカルPCを指定してdebug_peer_levelを上げてみれば詳細なログが採れますよ。 _________________ 桃李不言 下自成蹊 | ||||||||
|
投稿日時: 2007-04-11 11:25
| ||||||||
|
投稿日時: 2007-04-17 12:42
anights様
お世話になっております。 お蔭様で実装ができました!!(少し時間がかかりましたが。。。) anights様の情報を元にポリシーを整理し、何とか実装できました。 ポリシーが頭の中で整理できていない状態で設定をごちゃごちゃいじっていたので 収集つかなくなっていました。。。 大変遅くなりましたが、ありがとうございました。 |
1