• 締切済み

javamailを使ってのメール送信。

james-2.0a3、javamail-1.2、pop3-1.1.1をインストールした後に環境変数もセットしました。ここでjavamailの参考サイト(http://www.showa-cats.com/technical/Java/javamail/index.htm)のサンプルプログラムを試しに実行しようとしたところ下記に示すエラーが出ました。windows2000Professional, j2sdk1.4.0_01, Tomcat3.3.1 サーブレット実行後のエラー 『Error: 500  場所: /netjv/servlet/MsgSend  内部のサーブレットのエラー:  java.lang.NoClassDefFoundError: javax/mail/Message       at MsgSend.doPost(msgsend.java:37)・・略』 tomcatコマンドプロンプトより 『2003-02-05 10:23:59 - Ctx(/netjv) : Exception in R( /netjv        + /servlet/MsgSend +   null) - java.lang.NoClassDefFoundError: javax/mail/Message at MsgSend.doPost(msgsend.java:37)・・略』 MsgSend.javaのソースより  『37:PrintWriter pw = response.getWriter();   38:try {   39://MsgSendBeansのインスタンスを取得   40:MsgSendBeans msb = new MsgSendBeans();』 37行目のMsgSendBeans.javaのインスタンスの取得がうまくいってないと思うのですが、どうしたらよいかがわかりません。どなたかよろしくお願いします。

みんなの回答

  • sasadora
  • ベストアンサー率68% (59/86)
回答No.1

インストールしたと書いていますが、 java.lang.NoClassDefFoundError: javax/mail/Message と出ていることから、javamailがクラスパスに入っていないのではないでしょうか? 環境変数にはどう設定したのですか? システム環境変数に設定した場合は再起動しないと反映されないと思います。 環境変数に設定するのではなく、TOMCAT_HOMEのlibディレクトリに入れたほうが確実かも。

wareha_uminoko
質問者

補足

設定は set classpath=%CLASSPATH%;d:\javamail-1.2\mail.jar set classpath=%CLASSPATH%;d:\jaf-1.0.2\activation.jar set classpath=%CLASSPATH%;d:\pop3-1.1.1\pop3.jar のようにしています。 また、D:\tomcat\libにも入れているのですが、それが逆によくなかったりするんでしょうか。二重に設定するのは・・・。

関連するQ&A