• ベストアンサー

SMTP-AUTH

SMTP-AUTH で、サーバーに接続しようとしています。  サーバーとの通信はできます。 でも、サーバーから 50 HELP との返事が来ます。 これには、どう答えれば良いのでしょうか? RFCは2554、4954、1321を見ています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

>windows socket を使っています。 なるほど。自作ですか。では、バグです。 telnetとか、Teratermとかでつないでみれば正しく表示されるはず。

uyama33
質問者

お礼

ありがとうございました。 バグでした。 おかげさまで、修正できました。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

接続に使っているツールがおかしいのでは?どうやってつないでいますか?Linuxでtelnet ? 250-なんたらかんたら 250-かんたらなんたら 250 HELP と返っているのに、そのツールの表示がおかしいんだと思います。 250はコマンド処理が完了したと言うことで、その後の文字はコメントみたいなものです。 250- の - は、まだ続きの行があるという印。

uyama33
質問者

補足

windows socket を使っています。 SMTP で動いていたものを修正しながら接続しています。 サーバー名とポート番号を変えて接続しました。 220 smtp.??sss.jp ESMTP Sendmail; 13 Set... 250-smtp.??sss.jp Hello .... 50-ENHANCEDAUTHENTIVATIONCODES 50-PIPILINING 50-8BITMIME 50-SIZE 20000000 .. 50-AUTHPLAIN 50-STARTTLS .. 50 HELP となります。 AUTH PLAIN hsodfifafe== 334 dsfjsdf== 35 2.0.0 OK Authenticatied となります。

  • maesen
  • ベストアンサー率81% (646/790)
回答No.1

なんか変な感じですね。 RFC5321を見ていただくとわかると思いますが、SMTPのリプライコードに 50 は無いはずですが。 SMTP-AUTH(RFC2554)はこれに対しての拡張なのでこのRFC5321での原則は変わらないと思うのですが。 SMTPの通信は結構見たりしていますが、このリプライコードは見たことが無いです。 ところでこの応答はどの時点で返るのでしょうか? 接続確立時? 何かのコマンドの応答? 長文にならないようでしたら、シーケンスがわかる情報があると良いのではないかと思います。

uyama33
質問者

補足

smtp-authサーバー名とポート番号587を設定して接続します。 220- が返ってくるので EHLO を送ります。 すると、 50 HELP 50-START TLS 50-AUTHPLANELOGIN と続きます。 仕方ないので AUTH PLANE を送ると 334  が返ってきます。 BASE64で変換したアドレスとパスワードを送って 35 2.7.0 Authentication successful となります。 謎です。

関連するQ&A