68user's page 掲示板

Prev< No. 2061〜2071> Next  [最新発言に戻る] [過去ログ一覧]
No. 2061 # skel.103M [E-mail] 2001/07/06 (金) 02:18:19
いつもお世話になっております。
今度はSMTPについての質問なのですが……

SMTPサーバに接続した後最初にクライアント側で行うことは、HELO(またはEHLO)
を送ることですよね。でも、なぜこういうことをするようRFCで定められている
のでしょうか?これがなければ生じる不具合はどういったものが考えられるので
しょうか?「SMTP EHLO 解説」をキーワードにしてGoogleで検索しましたが、
決定的なものが見つかりませんでした…。他に「オライリー・ジャパン」から
出版されている「Sendmail システム管理」なる本も読みましたが、なんかこの
部分だけ意図的に説明を避けているみたいで… (^^;;

何とぞよろしくお願いします。

No. 2062 # 68user 2001/07/06 (金) 04:10:14
>>2061 skel.103M
とりあえずこちらを。
    http://djbdns.jp.qmail.org/djb/smtp.html
知りませんでしたが、envelope がクリアされるらしいですね。

No. 2063 # rosegarden 2001/07/06 (金) 04:14:30
>>2061 skel.103M
> SMTPサーバに接続した後最初にクライアント側で行うことは、
> HELO(またはEHLO)を送ることですよね。

とは限りません。うちなんかだと次のようしても
メールが送れるようになっています。

% telnet mail 25
Trying xxx.xxx.xxx.xxx...
Connected to mail.hogehoge.co.jp.
Escape character is '^]'.
220 mail.hogehoge.co.jp ESMTP Postfix
MAIL from:<rosegarden@hogehoge.co.jp>
250 Ok
RCPT TO:<rosegarden@isp.net.ne.jp>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
This is a test.
.
250 Ok: queued as 9CEF017A4A
quit
221 Bye
Connection closed by foreign host.

> でも、なぜこういうことをするようRFCで定められている
> のでしょうか?

RFC 821 や RFC 2821 をざっと見た限りだと MUST とか SHOULD
とかいう表現はありませんね。

それから、sendmail の operation guide をみると
PrivacyOptions の項に
          public Allow open access
          needmailhelo Insist on HELO or EHLO command before MAIL
          needexpnhelo Insist on HELO or EHLO command before EXPN
          noexpn Disallow EXPN entirely, implies noverb.
          needvrfyhelo Insist on HELO or EHLO command before VRFY
とあるので、このことからも、HELO や EHLO をどうするかには
任意性があるように思えます。

Postfix でも main.cf.default をみると
smtpd_helo_required = no
なんていう設定項目があります。
ということは、設定の際に任意性があるわけです。
おそらく、デフォルトでインストールすれば、HELO なしで
通る場合が多いでしょう。

No. 2064 # rosegarden 2001/07/06 (金) 04:21:56
>>2062 68user

> とりあえずこちらを。
> http://djbdns.jp.qmail.org/djb/smtp.html
> 知りませんでしたが、envelope がクリアされるらしいですね。

失礼しました。蛇足の書き込み申し訳ありません。

No. 2065 # 68user 2001/07/06 (金) 07:21:53
「ネットワークプログラミングの基礎知識」
    http://X68000.startshop.co.jp/~68user/net/
に「SSL でアクセスしてみよう」
    http://X68000.startshop.co.jp/~68user/net/ssl.html
を追加しました。

サンプルソースがほとんど
    http://stingray.sfc.keio.ac.jp/security/ssl/ssl.html
のパクリというのが情けない…。

No. 2066 # 68user 2001/07/06 (金) 07:31:41
ときに、UNIX+Java+Java servlet+JDBC+Postgres+
XML+XSLT な解説って需要ありますか?

書きたくはあるけれど、普通の ISP では Java servlet なんて
使えないだろうなぁ…。

No. 2067 # skel.103M [E-mail] 2001/07/06 (金) 15:56:11
どうも、skel.103Mです。
素早いフォローありがとうございます。>68user様・rosegarden様

>>2063 rosegarden
> > でも、なぜこういうことをするようRFCで定められている
> > のでしょうか?
>
> RFC 821 や RFC 2821 をざっと見た限りだと MUST とか SHOULD
> とかいう表現はありませんね。
RFC2821には MUST や SHOULD なる表現があります。RFC2821の
4.1.1.1 Extended HELLO (EHLO) or HELLO (HELO)の第2段落にある以下の記述が
これに該当すると思います:
> A client SMTP SHOULD start an SMTP session by issuing the EHLO
> command.

> In any event, a
> client MUST issue HELO or EHLO before starting a mail transaction.

RFC2821はRFC821を破棄したわけですから、クライアントによるHELO(また
はEHLO)コマンドの発行が新しく*必須*となったと考えてよいと思われ
ます。その理由っていったい何なんでしょう??私にはさっぱり想像
できないんですけど……。そこで、
>>2062 68user
> とりあえずこちらを。
> http://djbdns.jp.qmail.org/djb/smtp.html
を見てみましたが、これによると、「サーバ 実装者には HELOなしの世
界への将来の転換をサポートするように、 クライアント が HELOを省略
させるようにしむけることを推奨します。」という記述があるんです
けど。…これってHELO(またはEHLO)の存在意義はないと言ってるよう
にとれるんですけど……私だけ? (^^;;;

> 知りませんでしたが、envelope がクリアされるらしいですね。
ご紹介いただいたWebページはqmailの実装をもとにして記述されたもの
のようですが、RFC2821にはそれを示唆する部分は見つけられませんでし
た。

う〜む……

No. 2068 # rosegarden 2001/07/06 (金) 17:07:28
>>2067 skel.103M
> > > でも、なぜこういうことをするようRFCで定められている
> > > のでしょうか?
> >
> > RFC 821 や RFC 2821 をざっと見た限りだと MUST とか SHOULD
> > とかいう表現はありませんね。
> RFC2821には MUST や SHOULD なる表現があります。RFC2821の
> 4.1.1.1 Extended HELLO (EHLO) or HELLO (HELO)の第2段落にある以> 下の記述が
> これに該当すると思います:
なるほど、おっしゃる通りです。
私は 3.2 を見ていました。
かえって勉強になりました。ありがとうございます。

No. 2069 # @km 2001/07/08 (日) 00:06:17
はじめまして。
いつも勉強させていただいています。
質問なのですが、
UNIXでファイルのバージョンを管理するコマンド(TOOL!?)って
デフォルトであるのでしょうか?

ちなみに、
# $Id: echo-server-select.pl,v 1.1 2001/04/21 18:56:41 68user Exp $
↑は、どのようにやっているのでしょうか?
(※勝手に引用させてもらいすいません。)

No. 2070 # 68user 2001/07/08 (日) 04:35:12
>>2067 skel.103M
うーむ、私のレベルではちょっとついていけませんです。無念。

>>2069 @km
> UNIXでファイルのバージョンを管理するコマンド(TOOL!?)って
> デフォルトであるのでしょうか?
UNIX と言ってもいろいろあります。何をお使いですか?
# 上の「使い方」のところにも書いてあるように、OS やバージョンを
# 必ず書いて下さい。

無料で利用できるものならば、RCS と CVS があります (SCCS はよく知らない
のでパス。今でも現役なのかしら)。FreeBSD, NetBSD, OpenBSD なら両方デフォ
ルトで入っています。Solaris なら両方ともデフォルトでは用意されていませ
ん (当然ですがインストールすれば使えます)。Linux はわかりません。

両者の特徴はこのページをどうぞ。
    http://www2.noritz.co.jp/anchor/ashp/peggy/cvs/cvs_rcs.html

このサイトのコンテンツは CVS で管理しています。
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi
    http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi.diff?r1=1.1&r2=1.2&f=h
のように、ファイルの修正履歴が残ること、変更点を容易に把握できること、
ネットワーク経由でアクセスできることが利点です。

> $Id: echo-server-select.pl,v 1.1 2001/04/21 18:56:41 68user Exp $
> ↑は、どのようにやっているのでしょうか?
$Id:$ という文字列を埋め込んでおけば、勝手にバージョンや更新時刻や更新
者名が埋め込まれます。この機能は CVS, RCS 両方に備わっています。

CVS については書籍も4冊ほど出ていますし、解説しているサイトもたくさん
ありますので、興味があれば google などで検索してみて下さい。

No. 2071 # skel.103M [E-mail] 2001/07/08 (日) 22:22:16
>>2070 68user
> >>2067 skel.103M
> うーむ、私のレベルではちょっとついていけませんです。無念。
68user様が
>>2062 68user
で紹介されていたサイトは
http://www.google.com/search?as_q=SMTP&num=10&btnG=Google+%8C%9F%8D%F5&as_epq=&as_oq=HELO+EHLO&as_eq=&lr=lang_ja&as_occt=any&as_dt=i&as_sitesearch=
などでヒットしたサイトのうち最初に出てきたものですよね。上記検索
結果の4つ目付近にある
    http://spica.u-aizu.ac.jp/study/material/2000-10-17/neo-study3.pdf
の7ページ目には次のように書かれていました:
        「sender-SMTPとreceiver-SMTPを識別するためのコマンド」
…これは正しいのでしょうか?

これに関する質問は今回限りということで何とぞよろしくお願いします。
m(__)m

Prev< No. 2061〜2071> Next  [最新発言に戻る] [過去ログ一覧]