- PR -

java mailのプログラムをjava servletにしようとしたのですが、

投稿者投稿内容
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2009-01-21 14:25
実行ができない、とは具体的にどういう状況でしょうか?
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2009-01-21 15:57
ひとつ聞き忘れていましたが
そのメール送信プログラムは
単体できちんと動作しているのでしょうか。

あと一度に全部の処理を試そうとせず
今確認したいのがServletからメール送信の部分であるならば
Servlet内のそれ以外のソースはコメントアウトしておき
問題箇所の切り分けをするようにした方が
のちのちのためにいいかもしれません。
nagase
会議室デビュー日: 2009/01/14
投稿数: 9
投稿日時: 2009-01-21 18:52
山本 裕介さま
>実行ができない、とは具体的にどういう状況でしょうか?
Aのメール送信用のアプリケーション単体はコマンドプロンプトで作動するのですが
サーブレットからアプリケーションを呼び出すと実行できません。
サーブレット自体も単体では正常に作動します。ただ、メールが受信していないのでメールの送信に失敗したみたいです。

@のサーブレットに以下のソースでAプログラムを実行してみましたが画面は移行するのですがメールは受信できませんでした。

Mailsender1 mb = new Mailsender1();
mb.send("*****@titan.ocn.ne.jp","*****@titan.ocn.ne.jp","テスト","テストhttp://www.yahoo.co.jp");
ちなみに、これを前記したようにjavaアプリケーション(サーブレットではなく)でコマンドプロンプトから実行したところメールの受信に成功しました。

あすかさま
山本 裕介さまへの返事を引用させていただきますが、
Servletとプログラム単体では作動を確認しています。
Aのアプリケーションを呼び出して実行するアプリケーション(サーブレットではありませんが)で
確認しているのですが、メールを受信しています。

お詫び
皆様に混乱をさせて申し訳ありません。
一番最初に投稿した質問のソースコードでは誤り及び無理なコードを書いていると
思いますので7回目(1月18日)に投稿したソースコードで書いていきたいと思います。
本当に申し訳ありません。
朝日奈 ありす
ベテラン
会議室デビュー日: 2007/10/28
投稿数: 57
お住まい・勤務地: 北の都
投稿日時: 2009-01-22 23:00
ふとおもった、サーバーにspam判断されている可能せいはないかい?

記載されているデバッグ用の送信文字列からみてあるかもなぁと・・・
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2009-01-22 23:11
Aのソースで下のようになっていますが、スタックトレースがTomcatのログとかに出力されてませんか?
コード:
} catch (Exception e) { 
e.printStackTrace(); 
} 


この例外処理ですと、例外が発生してもスタックトレースを出力するだけで、処理は普通に続行されます。つまりブラウザ上ではエラーになっているのがわからないわけです。
既にご確認頂いていたらすみません。
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2009-01-22 23:14
失礼しました。
ついTomcatと書いてしまいました。

「Tomcat」→「アプリケーションサーバ」と読み替えてください。
nagase
会議室デビュー日: 2009/01/14
投稿数: 9
投稿日時: 2009-01-23 16:50
ログを見たのですが、分かりません。おそらくtomcatでメール送信用ポート25を封鎖しているようですが

******@titan.ocn.ne.jp
*****@titan.ocn.ne.jp
テスト
テストhttp://www.yahoo.co.jp
javax.mail.MessagingException: Could not connect to SMTP host: titan.ocn.ne.jp, port: 25;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:288)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at Mailsender1.send(Mailsender1.java:41)
at onmail.doPost(onmail.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
... 24 more

問題を丸投げみたいで自分でも悔しいのですが、ご指南願います。
申し訳ありません。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2009-01-23 17:15
>private final static String SMTP_HOST_NAME = "titan.ocn.ne.jp";
これ、ほんとに合ってますか?
SMTPはメアドのドメインとは違いますが。

合ってるとすれば、port25ブロックは?

スキルアップ/キャリアアップ(JOB@IT)