Bug #221

Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用

Added by Anonymous almost 4 years ago. Updated about 1 year ago.

[ruby-dev:35333]
Status:Closed Start date:07/03/2008
Priority:Normal Due date:
Assignee:matz (Yukihiro Matsumoto) % Done:

50%

Category:-
Target version:-
ruby -v:-

Description

Net::SMTPモジュールで、SMTPサーバのHELO/EHLOのパラメータのドメインは、

localhost.localdomain

となっていますが、これは適切ではありません。単に

localhost

とすべきです。

127.0.0.1(IPv6の ::1)に対応するDNSのドメイン名は localhost か、ホストのFQDNの
ドメインに localhost を使う(FQDNがhost.example.netならlocalhost.example.net)を
使用するという議論がありましたが、単に localhost とするのが最良だと結論付けら
れています。(RFC1912: Common DNS Operational and Configuration Errorsなど)

いずれにしても localdomain といった、(私の知る限りではRFC等に裏打ちのない)勝手
なドメインを使用すべきではありません。

Associated revisions

Revision 17839
Added by matz almost 4 years ago

* lib/net/smtp.rb (Net::SMTP::start): use 'localhost' instead of 'localhost.localdomain'. [ruby-dev:35333] * lib/net/smtp.rb (Net::SMTP::SMTP.start): ditto.

History

Updated by Tietew (Toru Iwase) almost 4 years ago

/etc/hosts に
127.0.0.1 localost.localdomain
と書いてあるのではないですか?

Updated by Anonymous almost 4 years ago

そのような壊れた環境のことではなくて、net/smtp.rbの中で、

    def SMTP.start(address, port = nil, helo = 'localhost.localdomain',

とか、

        def start(helo = 'localhost.localdomain',

と、直接書かれていることを問題としています。

Updated by matz (Yukihiro Matsumoto) almost 4 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
Applied in changeset r17839.

Updated by tommy (Masahiro Tomita) almost 4 years ago

RFC1912 的に問題なくなるかもしれませんが、今度はRFC2821に合わなくなります。

SMTP の HELO/EHLO で名乗るドメイン名は FQDN である必要があります(「.」が一つ以上必要)。

今まで問題なくメールを送れていた環境で、SMTP の文法エラーでメールが送れなくなる可能性があるので、とりあえず元に戻すべきだと思います。

Updated by shyouhei (Shyouhei Urabe) almost 4 years ago

  • Status changed from Closed to Open
  • Assignee set to matz (Yukihiro Matsumoto)
  • % Done changed from 100 to 50

Updated by Anonymous almost 4 years ago

RFC2821でHELO/EHLOのパラメータにFQDNを要求していますが、あくまでもそれが利用可能な場合だけです。

localhostがFQDNではないと解釈されるのであれば、不正なドメイン(localdomain)を使用するのではなく、RFC2821 のセクション4.1.3のアドレス・リテラルを使用するのが適切と考えられます。それも受け付けられないというのであれば、それは壊れたSMTPサーバなわけなので、それを動作させたいのであれば net/smtp.rbではなくて、それを利用するアプリケーション側で適切なHELO/EHLOのパラメータを指定すべきでしょう。

いずれにしても、勝手なドメイン(localdomain)の誤用を結果的に広めるようなコードは許されるものではありません。

Updated by tommy (Masahiro Tomita) almost 4 years ago

私も、恒久的に "localhost.localdomain" のままにしておくべきだとは思って
ません。

恒久的な対策は今後(1.8.8以降?)実装するとして、現状は明らかに間違った方
向に変更されてしまっているので、少なくとも 1.8.6, 1.8.7 ブランチでは元
に戻すべきです。

また、互換の問題もあります。SMTP は Ruby プログラムの外とのやりとりなの
で、どのように使用されているかはわかりません。もしかしたら、
"localhost.localdomain" という HELO 名に依存している環境があるかもしれ
ません。「そんな環境が悪い」というのは正しいのですが、1.8.6, 1.8.7 を安
定版というのであれば、そのダメな環境での互換も維持すべきだと考えます。

Updated by Anonymous almost 4 years ago

なるほど、1.8.6/1.8.7の互換性に対する点から、それらのブランチで戻すことに反対はしません。

ただ、そのような「誤用がある」といった点はドキュメントか何かに明示しておくべきと考えます。

Updated by Anonymous almost 4 years ago

また、余談になりますが、HELO/EHLOのパラメータのdomainはFQDNだとRFC2821に記述されていますが、このdomainは必ずしもドットを含まなければいけないわけではありません。RFC2821が参照しているRFC1035では、

<domain> ::= <subdomain> | " "

<subdomain> ::= <label> | <subdomain> "." <label>

なので、単独のlabelだけであっても構いません。(スペースだけって何だ?)

それらが該当するのはTLD(Top Level Domain)で、それらにsyntax的に"localhost"も含まれていると
解釈できます。

以上、余談です。

Updated by matz (Yukihiro Matsumoto) almost 4 years ago

まつもと ゆきひろです

In message "Re: [ruby-dev:35495] [Ruby 1.8 - Bug #221] 	Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用"
    on Tue, 15 Jul 2008 00:58:27 +0900, Masahiro Tomita <redmine@ruby-lang.org> writes:

|私も、恒久的に "localhost.localdomain" のままにしておくべきだとは思って
|ません。

ふむ。

|恒久的な対策は今後(1.8.8以降?)実装するとして、現状は明らかに間違った方
|向に変更されてしまっているので、少なくとも 1.8.6, 1.8.7 ブランチでは元
|に戻すべきです。

この場合、恒久的な「正しい対策」はどのようなもので、現状の
「明らかに間違った方向」はどのように間違ってるんでしょうか。
その辺がわからないとなんとも判断できません。

「互換性の問題がある」というのは分かります。が、だとすると
「現状は正しいがタイミングが悪い」のではないかと。ところが、
それが「明らかに間違った方向」であるとすると、では「正しい方
向」はどっちなんでしょう。

Updated by Anonymous almost 4 years ago

HELO/EHLO の引数の Domain の形式は RFC1035 ではなく RFC2821 中の記述に
従うのが自然だと思います。

  4.1.2 Command Argument Syntax

      Domain = (sub-domain 1*("." sub-domain)) / address-literal

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

On Tue, 15 Jul 2008 02:35:56 +0900
Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

> |恒久的な対策は今後(1.8.8以降?)実装するとして、現状は明らかに間違った方
> |向に変更されてしまっているので、少なくとも 1.8.6, 1.8.7 ブランチでは元
> |に戻すべきです。
> 
> この場合、恒久的な「正しい対策」はどのようなもので、現状の
> 「明らかに間違った方向」はどのように間違ってるんでしょうか。
> その辺がわからないとなんとも判断できません。

正しい対策の一例としては、自ホストのFQDN名 または IPアドレスを使う…と
いうのが考えられます。

現状間違っているというのは、SMTP の構文(RFC2821)に従っていない形式になっ
てしまっていることです。localhost.localdomain はドメイン名としては不正
かもしれませんが、SMTP の構文的には正しい形式でした。これが localhost
になったことで SMTP として正しくなくなってしまっています。

存在しないドメイン名を勝手に使用している(以前)のと、プロトコルに従って
いない(現状)というのでは、個人的には現状の方が悪いと思います。

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by matz (Yukihiro Matsumoto) almost 4 years ago

まつもと ゆきひろです

In message "Re: [ruby-dev:35502] Re: [Ruby 1.8 - Bug #221]   Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用"
    on Tue, 15 Jul 2008 08:34:09 +0900, とみたまさひろ <tommy@tmtm.org> writes:

|現状間違っているというのは、SMTP の構文(RFC2821)に従っていない形式になっ
|てしまっていることです。localhost.localdomain はドメイン名としては不正
|かもしれませんが、SMTP の構文的には正しい形式でした。これが localhost
|になったことで SMTP として正しくなくなってしまっています。

ですが、Anonymousさんのおっしゃること([ruby-dev:35493]とか
[ruby-dev:35501]とか)を聞いていると、現在のようにlocalhostに
したことが本当にSMTPとして正しくないのかは、私には確信できま
せん。なんとなくSMTP的には許されるような印象を持ちますが。

|存在しないドメイン名を勝手に使用している(以前)のと、プロトコルに従って
|いない(現状)というのでは、個人的には現状の方が悪いと思います。

localhostの使用がRFC2821適合であれば、「従っていない」とは言
えないですよね。となると、「悪い」の根拠は互換性になります。
まあ、これはこれで重要なのですが、それでも「互換性問題がある」
のか「互換性問題の可能性がある」は区別したいと思います。

具体的に問題が発生するケースをご存じですか?

個人的な意向としては、SMTP的に正しいと解釈可能で、具体的に問
題が発生するケースが知られていないなら、localhostのまま。いず
れかの条件が成立していないなら、とりあえず元に戻して別の対策
を模索する、という方針が良いと思っています。

                                まつもと ゆきひろ /:|)

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

# MLへの投稿も Redmine に反映されるんですね。便利〜。

On Tue, 15 Jul 2008 09:11:49 +0900
Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

> |現状間違っているというのは、SMTP の構文(RFC2821)に従っていない形式になっ
> |てしまっていることです。localhost.localdomain はドメイン名としては不正
> |かもしれませんが、SMTP の構文的には正しい形式でした。これが localhost
> |になったことで SMTP として正しくなくなってしまっています。

> ですが、Anonymousさんのおっしゃること([ruby-dev:35493]とか
> [ruby-dev:35501]とか)を聞いていると、現在のようにlocalhostに
> したことが本当にSMTPとして正しくないのかは、私には確信できま
> せん。なんとなくSMTP的には許されるような印象を持ちますが。

すいません、[ruby-dev:35501] の Anonymous は私です。Redmine にログイン
せずに書いてしまいました。

で、[ruby-dev:35501] で言いたかったのは、"localhost" は RFC2821 違反だ
ということです。

      Domain = (sub-domain 1*("." sub-domain)) / address-literal

これは、2つ以上の sub-domain を "." で連結しなければいけないことを表し
てます。

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by Anonymous almost 4 years ago

> HELO/EHLO の引数の Domain の形式は RFC1035 ではなく RFC2821 中の記述に
> 従うのが自然だと思います。
その通りですね、ありがとう。

なお、"localhost"はRFC2606で予約されたドメインであり、RFC2821の改訂版を目指すInternet-Draft(draft-klensin-rfc2821bis-11)では、Domainの記述は変更(条件が緩和)されています。Interenet-Draftは標準ではありませんが、RFC2821の誤りを修正や今後の方向性を示すものです。従って、ドットが含まれていないものをDomainとして認めない」という制約は行き過ぎたものであると言えます。

  2.3.5.  Domain Names

   A domain name (or often just a "domain") consists of one or more
   components, separated by dots if more than one appears.  In the case
   of a top-level domain used by itself in an email address, a single
   string is used without any dots.

  ...

  4.1.2.  Command Argument Syntax
  ...

   Domain         = sub-domain *("." sub-domain)

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

On Tue, 15 Jul 2008 10:31:30 +0900
Anonymous <redmine@ruby-lang.org> wrote:

> なお、"localhost"はRFC2606で予約されたドメインであり、RFC2821の改訂版
> を目指すInternet-Draft(draft-klensin-rfc2821bis-11)では、Domainの記述
> は変更(条件が緩和)されています。

おお、これは知りませんでした。

# RFCが新しくなったら、メール関係のプログラムで色々と修正作業が発生しそう…。

> Interenet-Draftは標準ではありませんが、
> RFC2821の誤りを修正や今後の方向性を示すものです。従って、ドットが含ま
> れていないものをDomainとして認めない」という制約は行き過ぎたものであ
> ると言えます。

将来の話はともかく、現状では localhost は RFC違反なので、元に戻すってこ
とで良いと思うのですが、どうでしょうか > まつもとさん

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by Anonymous almost 4 years ago

> 将来の話はともかく、現状では localhost は RFC違反なので、

まつもとさんも言われていましたが、localhost で問題となる事例があるのですか?

実際に、localhostをReceivedヘッダに痕跡として残しているシステムは山ほどあるわけで、
違反しているというよりも、RFCが間違っていると言い切って良い例でしょう。

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

On Tue, 15 Jul 2008 22:55:06 +0900
Anonymous <redmine@ruby-lang.org> wrote:

> > 将来の話はともかく、現状では localhost は RFC違反なので、
> 
> まつもとさんも言われていましたが、localhost で問題となる事例があるのですか?

RFC 違反であることを示せば条件を満たすと思ってたので、具体例については
書きませんでした。

Postfix という有名な MTA があるのですが、これは RFC に違反している
SMTP を拒否するという機能をいくつか持っています。今回の問題に関係するも
のは次です。

    reject_non_fqdn_helo_hostname (with Postfix < 2.3: reject_non_fqdn_hostname)
        Reject the request when the HELO or EHLO hostname is not in
        fully-qualified domain form, as required by the RFC.
        The non_fqdn_reject_code parameter specifies the response code to
        rejected requests (default: 504).

Postfix が標準でこのような機能を持っていて、マニュアルにこのように書か
れていれば、この設定を使用している人たちもそれなりの数はいると思います。
…というか、私はこのように設定しています。

> 実際に、localhostをReceivedヘッダに痕跡として残しているシステムは山ほどあるわけで、
> 違反しているというよりも、RFCが間違っていると言い切って良い例でしょう。

RFC が実は間違っていたのだったとしても、現実にはその RFC を元に稼働して
いるシステムがあるわけで、現在の 1.8.6, 1.8.7 に非互換となりうる変更を
取り込むのは反対です。

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by Anonymous almost 4 years ago

Postfixを正しく理解して使用するユーザはloopback経由のアクセスに対して、そのような制限は
掛けません。その制限よりも先に、(mynetworksや)loopback経由に対しては許可するでしょう。
(loopbackを信用できないのは、どのような状況でしょう、ある意味過てる設定に過ぎない気が
します。)

また、思い出せませんが、HELO/EHLOによる(spam受信拒否を目的とした)アクセスの制限は行う
べきでないといった文章を見た記憶があります。

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

On Wed, 16 Jul 2008 01:43:54 +0900
Anonymous <redmine@ruby-lang.org> wrote:

> Postfixを正しく理解して使用するユーザはloopback経由のアクセスに対して、そのような制限は
> 掛けません。その制限よりも先に、(mynetworksや)loopback経由に対しては許可するでしょう。
> (loopbackを信用できないのは、どのような状況でしょう、ある意味過てる設定に過ぎない気が
> します。)

この場でメールシステムの正しい設定について議論するつもりはないです。

私が言いたかったことをまとめると、

* HELO localhost は RFC2821 違反である。
* HELO localhost がエラーになるように設定できる MTA が存在する。
* HELO localhost.localdomain は通るが HELO localhost がエラーになる環境があるかもしれない。
* 安定版である Ruby 1.8.6, 1.8.7 で、そのような変更はすべきではない。

以上です。あとは、まつもとさんの判断にまかせます。

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

On Wed, 16 Jul 2008 07:36:56 +0900
とみたまさひろ <tommy@tmtm.org> wrote:

> 私が言いたかったことをまとめると、
> 
> * HELO localhost は RFC2821 違反である。
> * HELO localhost がエラーになるように設定できる MTA が存在する。
> * HELO localhost.localdomain は通るが HELO localhost がエラーになる環境があるかもしれない。
> * 安定版である Ruby 1.8.6, 1.8.7 で、そのような変更はすべきではない。
> 
> 以上です。あとは、まつもとさんの判断にまかせます。

あ、1.8.6, 1.8.7 はまつもとさんじゃなくて卜部さんの判断になるのかな。

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by Anonymous almost 4 years ago

同じく、まとめておきます。

> * HELO localhost は RFC2821 違反である。

RFC2606でのlocalhostの定義やInternet-Draftを総合的に検討すれば、
RFC2821自体の記述が問題なのは明白である。

実際に想定される相互運用性に与える影響から、盲目的に従うのが良い
とは限らない。

> * HELO localhost がエラーになるように設定できる MTA が存在する。

HELO localhostをエラーとする設定自体がSMTPサーバの設定ミスであり、
SMTPサーバの管理者の責任である。

また、net/smtp.rbでない、他のメール送信を行うプログラムでも十分に
問題が起き得るものであり、net/smtp.rbがlocalhostを使うことに責任は
ない。

> * HELO localhost.localdomain は通るが HELO localhost がエラーになる環境があるかもしれない。

逆に、HELO localhost.localdomainが通らずに、HELO localhostが通る
環境があるかもしれない。

また、SMTPのセッションの問題だけではなく、多くのSMTPサーバでは、
不正な localhost.localdomain といったドメインをヘッダに含んだメー
ルのメッセージを生成してしまうことになる。

> * 安定版である Ruby 1.8.6, 1.8.7 で、そのような変更はすべきではない。

特殊(もしくはgccで言えば -pedantic)に設定されたSMTPサーバと、不正な
ドメイン localhost.localdomain の使用の是非とを量りに掛けて、比較する
レベルの問題である。

Updated by ueda (Hiroyuki UEDA) almost 4 years ago

localhost または localhost.localdomain という話になっていますが、
やり取りを拝見している限り『[127.0.0.1]』という IP アドレス表記
に関しては #note-6 で言及されたのみで、以後、検討されていないように
思います。

postfix の例が出ていますが、reject_unknown_hostname パラメータ
を設定しているサイトでは HELO localhost.localdomain もエラーに
なってしまいます。

[127.0.0.1] であれば RFC 的にも一般的に使用されている MTA でも
問題が少ないと思うのですが、いかがでしょうか?

Updated by tommy (Masahiro Tomita) almost 4 years ago

とみたです。

On Fri, 18 Jul 2008 02:30:21 +0900
Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

> |1.8.6と1.8.7だけrevertしました。
> 
> ありがとうございます。
> 
> 1.8ですが、以下のどちらが望ましいと思いますか?
> 
>   * localhost。実質ダメな設定はありえないので。
>   * 127.0.0.1。これってSMTP的にどうなんだろう?

いっそのこと次のようにするのはどうでしょうか。

 * SMTPサーバーに接続した時の自分のIPアドレスを逆引きしたホスト名

# 変えすぎ?

Index: lib/net/smtp.rb
===================================================================
--- lib/net/smtp.rb	(リビジョン 18120)
+++ lib/net/smtp.rb	(作業コピー)
@@ -437,7 +437,7 @@
     # +port+ is the port to connect to; it defaults to port 25.
     #
     # +helo+ is the _HELO_ _domain_ provided by the client to the
-    # server (see overview comments); it defaults to 'localhost'. 
+    # server (see overview comments); it defaults to the hostname of client.
     #
     # The remaining arguments are used for SMTP authentication, if required
     # or desired.  +user+ is the account name; +secret+ is your password
@@ -457,7 +457,7 @@
     # * IOError
     # * TimeoutError
     #
-    def SMTP.start(address, port = nil, helo = 'localhost',
+    def SMTP.start(address, port = nil, helo = nil,
                    user = nil, secret = nil, authtype = nil,
                    &block)   # :yield: smtp
       new(address, port).start(helo, user, secret, authtype, &block)
@@ -518,7 +518,7 @@
     # * IOError
     # * TimeoutError
     #
-    def start(helo = 'localhost',
+    def start(helo = nil,
               user = nil, secret = nil, authtype = nil)   # :yield: smtp
       if block_given?
         begin
@@ -552,6 +552,10 @@
       logging "Connection opened: #{@address}:#{@port}"
       @socket = new_internet_message_io(tls? ? tlsconnect(s) : s)
       check_response critical { recv_response() }
+      unless helo_domain
+        addrinfo = s.addr
+        helo_domain = addrinfo[2] == addrinfo[3] ? "[#{addrinfo[3]}]" : addrinfo[2]
+      end
       do_helo helo_domain
       if starttls_always? or (capable_starttls? and starttls_auto?)
         unless capable_starttls?

-- 
とみたまさひろ <tommy@tmtm.org>
3469 42CC 4D32 F53C AD98  65A5 8C37 FF09 69C1 6040

Updated by matz (Yukihiro Matsumoto) almost 4 years ago

まつもと ゆきひろです

In message "Re: [ruby-dev:35567] Re: [Ruby 1.8 - Bug #221]     	Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用"
    on Thu, 17 Jul 2008 21:59:32 +0900, Urabe Shyouhei <shyouhei@ruby-lang.org> writes:

|1.8.6と1.8.7だけrevertしました。

ありがとうございます。

1.8ですが、以下のどちらが望ましいと思いますか?

  * localhost。実質ダメな設定はありえないので。
  * 127.0.0.1。これってSMTP的にどうなんだろう?

Updated by shyouhei (Shyouhei Urabe) almost 4 years ago

卜部です。

とみたまさひろ さんは書きました:
> あ、1.8.6, 1.8.7 はまつもとさんじゃなくて卜部さんの判断になるのかな。
>   

はい。1.8.6/1.8.7は私が判断します。

で、いまのところはどちらかというとrevertするほうに傾いています。ざんねん
ながらInternet-Draftを根拠に1.8.6/1.8.7の挙動を変えるのはやりすぎに思い
ます。そのInternet-DraftがきちんとRFCになってからもういちど吟味すべき
じゃないでしょうか。

Updated by znz (Kazuhiro NISHIYAMA) almost 4 years ago

西山和広です。

At Wed, 16 Jul 2008 16:13:56 +0900,
Urabe Shyouhei wrote:
> 
> で、いまのところはどちらかというとrevertするほうに傾いています。ざんねん
> ながらInternet-Draftを根拠に1.8.6/1.8.7の挙動を変えるのはやりすぎに思い
> ます。そのInternet-DraftがきちんとRFCになってからもういちど吟味すべき
> じゃないでしょうか。

古いRFCの821でもlocalhostはOKのように見えますが、それを考慮しても
1.8.6/1.8.7の挙動は変えない(revert)に賛成です。

そして、ドキュメントでちゃんと指定するのを推奨するのがいいのでは
ないでしょうか。


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)

Updated by shyouhei (Shyouhei Urabe) almost 4 years ago

1.8.6と1.8.7だけrevertしました。

Updated by Anonymous almost 4 years ago

--pgp-sign-Multipart_Fri_Jul_18_16:08:00_2008-1
Content-Type: text/plain; charset=ISO-2022-JP

At Fri, 18 Jul 2008 02:30:21 +0900,
matz wrote:
> |1.8.6$B$H(B1.8.7$B$@$1(Brevert$B$7$^$7$?!#(B
>
> $B$"$j$,$H$&$4$6$$$^$9!#(B
>
> 1.8$B$G$9$,!"0J2<$N$I$A$i$,K>$^$7$$$H;W$$$^$9$+!)(B

$B!!(Blocalhost $B$,%G%U%)%k%H$H$7$F$$$A$P$s0BA4$@$H;W$$$^$9!#(Bloopback
$B$+$i$NAw?.$r<u$1IU$1$k%5!<%P$K$*$$$F(B HELO localhost $B$rCF$/$J$I$H(B
$B$$$&@_Dj$O9M$($K$/$$$N$G$9$,!#(B

>   * localhost$B!#<B<A%@%a$J@_Dj$O$"$j$($J$$$N$G!#(B

$B!!(Blocalhost.localdomain $B$H$$$&(B"FQDN"$B$O2?$+$K4p$E$/@5<0$J$b$N$J$s(B
$B$G$7$g$&$+!#(B*BSD $B$G$O;H$o$l$F$*$i$:!"%G%U%)%k%H%$%s%9%H!<%k>uBV(B
$B$G$O0z$1$^$;$s!#(B

>   * 127.0.0.1$B!#$3$l$C$F(BSMTP$BE*$K$I$&$J$s$@$m$&!)(B

$B!!$b$7(BIPv4$B@\B3$J$i(B [127.0.0.1], IPv6$B$J$i(B [::1] $B$H$$$&$N$O$J$/$O(B
$B$J$$$H;W$$$^$9$,!"%"%I%l%9I=5-$O$"$^$j8+$^$;$s$M!#(B

--
Akinori MUSHA / http://akinori.org/

--pgp-sign-Multipart_Fri_Jul_18_16:08:00_2008-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEABECAAYFAkiAQVAACgkQkgvvx5/Z4e4nWACgkoZQTm0ZZHXnuVfIlwS3+SxI
yBkAnjlt5YsWTGEoOTgyj+LBxC6HODn8
=X82S
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Fri_Jul_18_16:08:00_2008-1--

Updated by Anonymous almost 4 years ago

植田と申します。


Fri, 18 Jul 2008 16:02:57 +0900 のメールにて、
"Akinori MUSHA" <knu@iDaemons.org> さんは書きました :
(snip)
> >   * 127.0.0.1。これってSMTP的にどうなんだろう?
> 
>  もしIPv4接続なら [127.0.0.1], IPv6なら [::1] というのはなくは
> ないと思いますが、アドレス表記はあまり見ませんね。

私の使っている Becky! もそうですが、Windows の MUA では HELO/EHLO 時に 
IP アドレス(IPv4)表記を使っているものが結構あります。


-----
株式会社ネットフォレスト            http://www.netforest.ad.jp/
Dr.WEB/Vade Retro 担当 植田 裕之   ueda@netforest.ad.jp
tel:045-663-6277 fax:045-663-6278

Updated by usa (Usaku NAKAMURA) almost 4 years ago

こんにちは、なかむら(う)です。

In message "[ruby-dev:35571] Re: [Ruby 1.8 - Bug #221]      Net::SMTPでSMTPのHELO/EHLOにデフォルトで不正なホスト名を使用"
    on Jul.18,2008 02:30:21, <matz@ruby-lang.org> wrote:
> 1.8ですが、以下のどちらが望ましいと思いますか?
> 
>   * localhost。実質ダメな設定はありえないので。
>   * 127.0.0.1。これってSMTP的にどうなんだろう?

[127.0.0.1] を推します。
理由は[ruby-dev:35530]でUEDAさんが書かれておられる通りです。


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>

Updated by shyouhei (Shyouhei Urabe) over 1 year ago

  • Status changed from Open to Closed
  • ruby -v set to -

Also available in: Atom PDF