- PR -

postfix ローカルメール送信テストができない。

投稿者投稿内容
ヤミーズ
常連さん
会議室デビュー日: 2004/09/06
投稿数: 27
お住まい・勤務地: 東京都世田谷区
投稿日時: 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
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-09-06 22:28
main.cf の中身はぁ〜?
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-09-06 23:21
こんばんわ.

コブラ様のご指摘にもありますが,config 見せたほうが早かったりすると思います.
ちなみに mail from: と rcpt to: で @localhost だと?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-09-07 02:14
postfix の設定については、main.cf を全部見せられるよりも
postconf -n の結果をみせてもらったほうが嬉しい人が多いでしょー。

それはさておき。
myhostname と mydomain がデフォルトのままになっているのでわ?
で、ホスト名がそんなだから foo@RHLinux.RHLinux になる、とゆーことで。

あと、mydestination の設定も見直しておいたほうが吉と思うです。
ヤミーズ
常連さん
会議室デビュー日: 2004/09/06
投稿数: 27
お住まい・勤務地: 東京都世田谷区
投稿日時: 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)
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-09-08 23:30
引用:

ヤミーズさんの書き込み (2004-09-08 13:48) より:
 myhostnameとmydomainですがhostnameコマンド結果に沿い、下記設定となっております。
mydomainの設定がいけないような気がしますが、ローカル環境時に何を設定すれば良いのか判断できません。(実際ホストのみの操作なのでホスト名のみ)次にこころみるLAN環境においても hostname -d では何も表示されませんでした。
mydomainに$myhostnameを設定してみましたが動作は変わらずでした。

 [myhostnameとmydomain設定内容]
  myhostname:RHLinux
  mydomain :未設定(コメントのまま)


えーとですね、mydomain の問題といえばそうなのかもしれませんが、
ホスト名を変えたほうがよいと思うですよ。
私なら、rhlinux.localdomain とでもしておきます。
# 余談ですが、ホスト名には大文字は使わないほうが無難と思うです。
# アホなバグに悩まされる可能性が低くなるので。

デフォルトでは mydomain は myhostname から「はじめの部分」を
取り除いたものになりますが、ホスト名を RHLinux とした場合、
取り除くべき「最初のピリオドまでの部分」が存在しないので、
そこから混乱が生じていると思うです。
# mydomain も RHLinux になってるんでないかな。でもって、
# myhostname の中にピリオドが入ってないもんで、後ろに
# mydomain を補足した形で @RHLinux.RHLinux になってるんじゃあ
# ないかと思いまふ。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-09-08 23:57
こんばんわ.
引用:

ぽんすさんの書き込み (2004-09-08 23:30) より:

デフォルトでは mydomain は myhostname から「はじめの部分」を
取り除いたものになりますが、ホスト名を RHLinux とした場合、
取り除くべき「最初のピリオドまでの部分」が存在しないので、
そこから混乱が生じていると思うです。
# mydomain も RHLinux になってるんでないかな。でもって、
# myhostname の中にピリオドが入ってないもんで、後ろに
# mydomain を補足した形で @RHLinux.RHLinux になってるんじゃあ
# ないかと思いまふ。


横槍で失礼いたします.

この部分て「理屈」なのでしょうか?
つまり,設定していないと「勝手に代入されてしまう」のでしょうか?
素朴な疑問ですが,その辺は「理屈に合う動作」が為されないのかな?と...
つまり「混乱」というところでちょっと説明が「強引」な気がしてしまったので

自分は postfix を使っていないので確たることは書き込めないのですが,
ぽんす様のご指摘冒頭の「hostname は rhlinux.localdomain」は自分も同感で,
さらに「このような postfix の仕様だから」という説明が望まれているのかなと...

その辺,お考えがあってのことなら大変失礼しました.
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-09-09 01:39
引用:

kazさんの書き込み (2004-09-08 23:57) より:
この部分て「理屈」なのでしょうか?
つまり,設定していないと「勝手に代入されてしまう」のでしょうか?
素朴な疑問ですが,その辺は「理屈に合う動作」が為されないのかな?と...


「ソースコードを読んで確認したか?」と問われれば答えは No です。
ですが、私の知る限りでは postfix は前に書いたように動作します。

myorigin に設定した名前にピリオドが含まれていないと mydomain を
くっつけます。この動作によって「ローカルにメールを投げているのに
受け取れない」ということになりがちです、mydestination の設定にも
よりますが。
# これは trivial-rewrite(8) の動作に原因があります。
## 「myorigin に」といってしまってはまずい。「unqualified な
## アドレスが書かれていたら」ということなので、宛先にも適用
## されます。てゆーか、だから受け取りで問題が発生します。


> デフォルトでは mydomain は myhostname から「はじめの部分」を
> 取り除いたものになります
というのは、main.cf の説明に書かれていることです。

> mydomain も RHLinux になってるんでないかな
というのは、動作からの推測です。
自分で試したこともありますが、根拠となるドキュメントを確認した
とかいうようなことはありません。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-09-09 02:21 ]

スキルアップ/キャリアアップ(JOB@IT)