- ベストアンサー
SMTP-AUTH
SMTP-AUTH で、サーバーに接続しようとしています。 サーバーとの通信はできます。 でも、サーバーから 50 HELP との返事が来ます。 これには、どう答えれば良いのでしょうか? RFCは2554、4954、1321を見ています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>windows socket を使っています。 なるほど。自作ですか。では、バグです。 telnetとか、Teratermとかでつないでみれば正しく表示されるはず。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10358)
接続に使っているツールがおかしいのでは?どうやってつないでいますか?Linuxでtelnet ? 250-なんたらかんたら 250-かんたらなんたら 250 HELP と返っているのに、そのツールの表示がおかしいんだと思います。 250はコマンド処理が完了したと言うことで、その後の文字はコメントみたいなものです。 250- の - は、まだ続きの行があるという印。
補足
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)
なんか変な感じですね。 RFC5321を見ていただくとわかると思いますが、SMTPのリプライコードに 50 は無いはずですが。 SMTP-AUTH(RFC2554)はこれに対しての拡張なのでこのRFC5321での原則は変わらないと思うのですが。 SMTPの通信は結構見たりしていますが、このリプライコードは見たことが無いです。 ところでこの応答はどの時点で返るのでしょうか? 接続確立時? 何かのコマンドの応答? 長文にならないようでしたら、シーケンスがわかる情報があると良いのではないかと思います。
補足
smtp-authサーバー名とポート番号587を設定して接続します。 220- が返ってくるので EHLO を送ります。 すると、 50 HELP 50-START TLS 50-AUTHPLANELOGIN と続きます。 仕方ないので AUTH PLANE を送ると 334 が返ってきます。 BASE64で変換したアドレスとパスワードを送って 35 2.7.0 Authentication successful となります。 謎です。
お礼
ありがとうございました。 バグでした。 おかげさまで、修正できました。