- - PR -
postfix ローカルメール送信テストができない。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-06 19:09
スタンドアローン状態でtelnetコマンドでpostsixに接続しましたが、うまく送信できません。原因についてご教授願えませんでしょうか?下記に動作ログを記載します。
@hostname :ドメイン名が表示されません。 Atelnetコマンド :正常に終了しています。 B結果 :なぜか@後にhost名が連続で付加されます。main.cfのmyoriginは$myhostnameです。 Chosts : 【@hostname】 [root@rhlinux ebs]# hostname -a workgroup [root@rhlinux ebs]# hostname -i 192.168.27.128 [root@rhlinux ebs]# hostname -f RHLinux [root@rhlinux ebs]# hostname -d [root@rhlinux ebs]# 【Atelnetコマンド】 [root@rhlinux root]# telnet localhost smtp Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 RHLinux ESMTP Postfix HELO RHLinux 250 RHLinux MAIL FROM:<foo@RHLinux> 250 Ok RCPT TO:<bar@RHLinux> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> This is test . 250 Ok: queued as 2271334ADB4 QUIT 221 Bye Connection closed by foreign host. 【B結果】 [root@rhlinux root]# mail No mail for root [root@rhlinux root]# tail /var/log/maillog Sep 6 04:22:01 RHLinux postfix/smtpd[2233]: connect from unknown[127.0.0.1] Sep 6 04:22:45 RHLinux postfix/smtpd[2233]: 2271334ADB4: client=unknown[127.0.0.1] Sep 6 04:23:12 RHLinux postfix/cleanup[2242]: 2271334ADB4: message- id=<20040906082245.2271334ADB4@RHLinux> Sep 6 04:23:12 RHLinux postfix/nqmgr[2187]: 2271334ADB4: from=<foo@RHLinux.RHLinux>, size=321, nrcpt=1 (queue active) Sep 6 04:23:12 RHLinux postfix/nqmgr[2187]: 2271334ADB4: to=<bar@RHLinux.RHLinux>, relay=none, delay=27, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 04:23:18 RHLinux postfix/smtpd[2233]: disconnect from unknown[127.0.0.1] 【Chosts】 [root@rhlinux root]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.27.128 RHLinux workgroup | ||||
|
投稿日時: 2004-09-06 22:28
main.cf の中身はぁ〜?
| ||||
|
投稿日時: 2004-09-06 23:21
こんばんわ.
コブラ様のご指摘にもありますが,config 見せたほうが早かったりすると思います. ちなみに mail from: と rcpt to: で @localhost だと? | ||||
|
投稿日時: 2004-09-07 02:14
postfix の設定については、main.cf を全部見せられるよりも
postconf -n の結果をみせてもらったほうが嬉しい人が多いでしょー。 それはさておき。 myhostname と mydomain がデフォルトのままになっているのでわ? で、ホスト名がそんなだから foo@RHLinux.RHLinux になる、とゆーことで。 あと、mydestination の設定も見直しておいたほうが吉と思うです。 | ||||
|
投稿日時: 2004-09-08 13:48
返信ありがとうございます。
ぽんす様のご指摘どおりmain.cfではなくpostconf -nを下記@に記載します。 また、kaz様の依頼の@localhostの動作結果を下記Aに記載します。結果は同様に@RHLinux.RHLinuxとなってしまいました。 myhostnameとmydomainですがhostnameコマンド結果に沿い、下記設定となっております。 mydomainの設定がいけないような気がしますが、ローカル環境時に何を設定すれば良いのか判断できません。(実際ホストのみの操作なのでホスト名のみ)次にこころみるLAN環境においても hostname -d では何も表示されませんでした。 mydomainに$myhostnameを設定してみましたが動作は変わらずでした。 [myhostnameとmydomain設定内容] myhostname:RHLinux mydomain :未設定(コメントのまま) mydestinationについては、"受け取るドメイン名"の設定項目と認識しておりますが、設定項目はデフォルトのままです。スタンドアローン時は$myhostnameの設定があれば良いかとという認識の為です。 簡単な設定ミスだと思いますがまったく先へ進めない為ご協力を宜しくお願いいたします。 @【postconf -n結果】 [root@rhlinux root]# postconf -n alias_database = hash:/etc/postfix/aliases alias_maps = hash:/etc/postfix/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix debug_peer_level = 2 inet_interfaces = localhost mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain myhostname = RHLinux mynetworks_style = subnet myorigin = $myhostname newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-1.1.11/README_FILES sample_directory = /usr/share/doc/postfix-1.1.11/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop A【@localhostの動作結果】 [root@rhlinux root]# telnet localhost smtp Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 RHLinux ESMTP Postfix HELO RHLinux 250 RHLinux MAIL FROM:<foo@localhost> 250 Ok RCPT TO:<bar@localhost> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> This is test 421 Error: timeout exceeded Connection closed by foreign host. [root@rhlinux root]# mail No mail for root [root@rhlinux root]# tail /var/log/maillog Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 8CCFD34ADAA: to=<root@RHLinux.RHLinux>, relay=none, delay=112862, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 70A8134ADA4: to=<root@RHLinux.rhlinux>, relay=none, delay=112864, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 7E84F34ADA7: to=<root@RHLinux.RHLinux>, relay=none, delay=112863, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 14:41:56 RHLinux postfix/smtp[4147]: 7812834ADB1: to=<bar@RHLinux.workgruop>, relay=none, delay=102024, status=deferred (Name service error for rhlinux.workgruop: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 6E93D34AD9F: to=<root@RHLinux.rhlinux>, relay=none, delay=112866, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 6DA8734ADAC: to=<bar:rhlinux@RHLinux.RHLinux>, relay=none, delay=110376, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 0440634ADAB: to=<bar@RHLinux.RHLinux>, relay=none, delay=112133, status=deferred (Name service error for rhlinux.rhlinux: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/nqmgr[3196]: 03EE134ADBA: from=<foo@localhost.localdomain>, size=350, nrcpt=1 (queue active) Sep 6 14:41:57 RHLinux postfix/smtp[4144]: 047C634ADB0: to=<bar@smtp.RHLinux>, relay=none, delay=103845, status=deferred (Name service error for smtp.rhlinux: Host not found, try again) Sep 6 14:41:57 RHLinux postfix/smtp[4145]: 03EE134ADBA: to=<bar@localhost.localdomain>, relay=none, delay=32592, status=deferred (Name service error for localhost.localdomain: Host not found, try again) | ||||
|
投稿日時: 2004-09-08 23:30
えーとですね、mydomain の問題といえばそうなのかもしれませんが、 ホスト名を変えたほうがよいと思うですよ。 私なら、rhlinux.localdomain とでもしておきます。 # 余談ですが、ホスト名には大文字は使わないほうが無難と思うです。 # アホなバグに悩まされる可能性が低くなるので。 デフォルトでは mydomain は myhostname から「はじめの部分」を 取り除いたものになりますが、ホスト名を RHLinux とした場合、 取り除くべき「最初のピリオドまでの部分」が存在しないので、 そこから混乱が生じていると思うです。 # mydomain も RHLinux になってるんでないかな。でもって、 # myhostname の中にピリオドが入ってないもんで、後ろに # mydomain を補足した形で @RHLinux.RHLinux になってるんじゃあ # ないかと思いまふ。 | ||||
|
投稿日時: 2004-09-08 23:57
こんばんわ.
横槍で失礼いたします. この部分て「理屈」なのでしょうか? つまり,設定していないと「勝手に代入されてしまう」のでしょうか? 素朴な疑問ですが,その辺は「理屈に合う動作」が為されないのかな?と... つまり「混乱」というところでちょっと説明が「強引」な気がしてしまったので 自分は postfix を使っていないので確たることは書き込めないのですが, ぽんす様のご指摘冒頭の「hostname は rhlinux.localdomain」は自分も同感で, さらに「このような postfix の仕様だから」という説明が望まれているのかなと... その辺,お考えがあってのことなら大変失礼しました. | ||||
|
投稿日時: 2004-09-09 01:39
「ソースコードを読んで確認したか?」と問われれば答えは No です。 ですが、私の知る限りでは postfix は前に書いたように動作します。 myorigin に設定した名前にピリオドが含まれていないと mydomain を くっつけます。この動作によって「ローカルにメールを投げているのに 受け取れない」ということになりがちです、mydestination の設定にも よりますが。 # これは trivial-rewrite(8) の動作に原因があります。 ## 「myorigin に」といってしまってはまずい。「unqualified な ## アドレスが書かれていたら」ということなので、宛先にも適用 ## されます。てゆーか、だから受け取りで問題が発生します。 > デフォルトでは mydomain は myhostname から「はじめの部分」を > 取り除いたものになります というのは、main.cf の説明に書かれていることです。 > mydomain も RHLinux になってるんでないかな というのは、動作からの推測です。 自分で試したこともありますが、根拠となるドキュメントを確認した とかいうようなことはありません。 [ メッセージ編集済み 編集者: ぽんす 編集日時 2004-09-09 02:21 ] |