• ベストアンサー

JavaMailでSMTPクライアントとサーバの会話を表示したいのですが。

JavaMailでSMTPクライアントを作成しているのですが、サーバとのコマンドのやりとり(heloコマンドや、それに対する返答など)を表示させたいと考えています。 しかし、JavaMailではその操作が抽象化されすぎていて、また、文献を探してもこれについて述べているものを見つける事が出来ず、どうすればサーバとクライアントとの「会話」を抽出できるのか見当がつきません。 どなたか良い方法をご存じの方がいらっしゃいましたら是非ご回答をお願いします。

  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

JavaMailを使用せずに自分でSMTPクライアントを実装してください。SMTP自体はそれほど難しくはないので、簡易な実装ならすぐに出来ると思います。

yuma887
質問者

お礼

回答有り難う御座います。 やはりjavamailの下でサーバからの返信コードを取り出すのは難しいようですね。 おとなしく普通のjavaで実装してみます。

関連するQ&A

  • SMTPコマンドについて

    SMTPコマンドのHELOコマンドについて質問です。 これってSMTP接続時にSMTPクライアントが自分のドメイン名を名乗るコマンドですが、一般のメールクライアントはどのドメイン名を名乗っているのですか?また、HELOコマンドの内容によってはエラーを返す時ってどのような場合ですか?

  • smtpと、popについて、サーバーから見ると。。。

    サーバ間でメールのやり取りをしたり、クライアントがサーバにメールを送信する際に用いられるのがsmtpということになっていて、サーバからメールを受信するためのプロトコルがpopということになるとおもうのですが、では、サーバー側にとっては、メールを受信するのがsmtpで、クライアントにメールを送信するのがpopということであってますでしょうか?メールを送信がsmtpで、受信がpopと覚えていたので、サーバー(linuxです)からみると反対なのかなとおもいまして。

  • EHLO(HELO)コマンドのドメイン名は?

    JavaMail送信時のEHLO(HELO)コマンドにセットされるドメイン名はどこから持って来るのでしょうか。 JAVAのプログラムでJavaMailを使用してメール送信したところ、EHLO(HELO)コマンドに対する応答が”501 INVALID DOMAIN NAME”になってしまいました。 LANアナライザで調べたら確かにEHLO(HELO)コマンドで送信しているドメイン名が化けています。 同じPCでOutlook Expressからメール送信するとEHLO(HELO)コマンドでは正しいドメイン名がセットされ、正常に送信できるのですが。 SMTPサーバーはプロバイダ内、使用ポートは25、OSはWindowsXPです。 ご教示頂きたく、よろしくお願いします。

  • Postx社内PCからのみSMTP認証を不要にした

    こんにちは。 Postfix+dovecotでメールサーバを構築しています。 SMTP認証を設定していて、認証が通らないクライアントからのメール送信ができないように設定していますが、 社内のあるクライアントからのメールが送信できません。 以下のエラーログが表示されます。 NOQUEUE: reject: RCPT from unknown[192.168.0.xxx]: 554 5.7.1 <unknown[192.168.0.xxx]>: Client host rejected: Access denied; from=<rejecteduser@server.co.jp> to=<destination@server.co.jp> proto=SMTP helo=<xxxxxx> 実はこれ、メールサーバと同じ社内LAN上のPCにインストールしてある、LiveCapture2というWebカメラからのコマンド返信メールなのですが、このLiveCapture2のメール設定には、SMTP認証の設定が無いようなのです。 そこで、Postfixの設定で、社内のPCからのメールだけ、SMTP認証が不要にできる設定などありましたら、ご教授頂けないでしょうか。 よろしくお願いします。

  • SMTPの認証について・・。

    メールサーバーを構築しているのですが、クライアントはBecky!というメールソフトを使い、設定の中に「SMTP認証」という項目があるのですが、サーバーの方は現在SMTPの認証に設定がされていません。(使われていない??) サーバーの設定・・もしくはtelnetからのSMTPのコマンドか何かで、認証をすることは出来るのでしょうか?(正直セキュリティ重視なのですが、認証の機能事態がよくわからないのでどなたかご教授ください。)

  • SMTPのコマンドについて。

    クライアントのtelnetから、SMTPサーバーに接続して、コマンドを打ち込んでいくと、 CL:EHLO SV:OK! CL:AUTH SV:502.unimplemented といったメッセージが帰ってきます。 調べたところ、応答コード502は「このコマンドがサポートされていない」という意味のようですが、どこでどういう設定をすればサポートされる(使える)ようになるのでしょうか?どなたか教えてください。

  • cmd.exeでSMTPサーバに接続できません><

    cmd.exeを起動してnslookup -type=mx yahoo.co.jpと入力したらヤフーメールのSMTPサーバの一覧が出力されますよね? その中の一つアドレスを利用してヤフーのSMTPサーバに接続してみようと思い、 telnet (省略)yahoo.co.jp 25と入力したのですが telnetは内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。 と出力されてしまいます。 対処法を教えて下さい>< ※Vistaを使っています。

  • クライアント側のソフト

    サーバ/クライアント型データベースで (1)クライアント側にMySQL Query Browserをインストールすれば、GUI操作できますが、コマンドプロントからも操作できるのでしょうか? (2)または、クライアント側には「かねやんMySQLAdmin」とODBCを入れて、MySQLサーバーに対してコマンドプロントから操作できるのでしょうか? よろしくお願いまします。

  • SMTP拡張コマンドについて

    SMTPの拡張コマンドに、ベンダーを指定してクライアント(センダー)と、サーバ(レシーバ)の役割を切り替えるETRNというコマンドがあるんですが、現在、出回っているMUAでETRNを発行するようなMUAはあるのでしょうか。 もし、ご存知の方がいらっしゃいましたら、教えていただけないでしょうか。

  • そのPCが使用中のSMTPサーバーを特定する方法

    目の前には外部にe-mailを送れるようにセットされたPCはあります。(NECのStar Office) このPCは自分用なので管理者権限で自由に使えます。 ただ、サーバー管理者と連絡が取れません。よって、メールサーバーのコンソール(?)は誰も操作できません。 このような場合、自分のPCでコマンドを打つか何かをして、SMTPサーバーのアドレスとポートを調べることはできないでしょうか。

専門家に質問してみよう