• 締切済み

J2EEのjavax.mail機能について

Tomcat4.1.18と1.4.0及び拡張ファイルactivation.jarとmail.jarファイルを使用し、ある教本からクライアントからの新規会員の仮登録があると、mailで本登録を行うかどうか仮登録をしたクライアントに自動的に送るというシステムを構築中です。現在SMTPサーバーの接続のところでエラーが発生している状態です。 SMTPサーバーの設定で使用するPropertiesクラス及びsetProperty()メソッドの使用について詳しく教えてもらえないでしょうか? // SMTPサーバーの設定 Properties props = new Properties(); props.setProperty(smtpServer, "mail.smtp.host"); J2EEのリファレンスを参照してみたのですが、Propertiesクラスがなかったので仕様がわかりませんでした。

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

みんなの回答

  • KaZtoYou
  • ベストアンサー率73% (11/15)
回答No.1

PropertiesクラスはJ2SEのリファレンスにのっています。 >props.setProperty(smtpServer, "mail.smtp.host"); props.setProperty("mail.smtp.host",smtpServer); これでいいような気がします。

参考URL:
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/util/Properties.html
u-mesh12
質問者

お礼

J2SEのほうだったんですね。どうりで見つからなかったわけだ…。まだソースのほうはちらほらエラーがあるのでがんばって完成させようと奮闘中です。アドバイスありがとうございました。

関連するQ&A

  • JavaMail smtp.mail.yahoo.co.jp

    お世話になります。 JavaMail1.4を用いて、 自作プログラム内でメール送信を行おうとしているのですが、 エラーが返ってきてしまいます。 以下エラー内容です。 DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP: trying to connect to host "smtp.mail.yahoo.co.jp", port 25, isSSL false javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.yahoo.co.jp, port: 25; nested exception is: java.net.ConnectException: Connection timed out: connect at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1227) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322) at javax.mail.Service.connect(Service.java:258) at javax.mail.Service.connect(Service.java:137) at javax.mail.Service.connect(Service.java:86) at javax.mail.Transport.send0(Transport.java:150) at javax.mail.Transport.send(Transport.java:80) at partsPackage.MailTransfer.send(MailTransfer.java:135) at partsPackage.Tester.main(Tester.java:14) 設定が悪いのか、 サーバーの指定等が悪いのか検討が付かない状況です。 ソースは final String username = "○○○○"; final String password = "○○○○"; final String from_name = "○○○○"; final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; Session session = null; MimeMessage mimeMessage = null; String charset = "UTF8"; String sendTo = null; String title = null; String contents = null; public MailTransfer(){} public MailTransfer(String charset){this.charset=charset;} boolean isConnected(){return session!=null;} public boolean hasMessage(){return mimeMessage!=null;} public boolean hasDestination(){return sendTo!=null;} public boolean hasTitle(){return title!=null;} public boolean hasText(){return contents!=null;} void connect(){ Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); Properties props = System.getProperties(); props.setProperty("mail.smtp.host", "smtp.mail.yahoo.co.jp"); props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY); props.setProperty("mail.smtp.socketFactory.fallback", "false"); props.setProperty("mail.smtp.port", "25"); props.setProperty("mail.smtp.socketFactory.port", "25"); props.put("mail.smtp.auth", "true"); props.put("mail.debug", "true"); session = Session.getInstance(props, new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); } public void create_mail(){ System.out.println("送信メール作成"); if(!isConnected())connect(); if(hasMessage())return; mimeMessage=new MimeMessage(session); try { // 送信元メールアドレスと送信者名を指定 mimeMessage.setFrom(new InternetAddress(username+"@yahoo.co.jp",from_name,charset)); // メールの形式を指定 mimeMessage.setHeader("Content-Type","text/html"); } catch (Exception e) { e.printStackTrace(); } System.out.println("送信メール作成完了"); } よろしくお願い致します。

  • プロキシ経由でjavamailを使ってyahooにメール送信

    社内から社外へのネットワーク通信(インターネット)にはプロキシをかませています。 この環境下で、社内で、Javamailを使い、yahooへメール送信を行いたいと思っております。 ソースは以下です。 ---------------------------------------------------------------- //初期設定 Properties props = new Properties(); //接続するSMTP props.put("mail.smtp.host","smtp.mail.yahoo.co.jp"); //SMTP before POP3対応 props.put("mail.smtp.auth", "true"); //ポートの設定 props.put("mail.smtp.port", String.valueOf("25")); Session sess = Session.getInstance(props); MimeMessage mimeMessage = new MimeMessage(sess); //送信元メールアドレスと送信者名を指定 mimeMessage.setFrom(new InternetAddress("xxx@xxx.co.jp","name","iso-2022-jp")); //送信先メールアドレス指定 mimeMessage.setRecipients(Message.RecipientType.TO, "xxx@yahoo.co.jp"); //SUBJECT mimeMessage.setSubject("メールテスト","iso-2022-jp"); //SEND DATE mimeMessage.setSentDate(new Date()); //CONTENTS mimeMessage.setText("日本語OK?\n改行\n","iso-2022-jp"); Transport transport = sess.getTransport("smtp"); //認証用ユーザ名とパスワードを設定しコネクト transport.connect(null,"user name","password"); //メール送信 transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients()); transport.close(); ---------------------------------------------------------------- 実行すると、Unknown SMTP host: smtp.yahoo.co.jp というエラーが出ます。 社外への通信は一度プロキシサーバを経由しているのが原因ではないかと思うのですが、どうしたらいいか分かりません。 どなたかご教授願います。

    • ベストアンサー
    • Java
  • JARファイルの利点について

    本日はJARファイルについて質問いたします。 たまにみかけるのですが、クラスファイルのあるパッケージを集めてJARファイル化してサーバーに搭載することがあります。 これはクラス一つ一つ登録することと何が違うのでしょうか? 教えてください。

    • ベストアンサー
    • Java
  • Javaアプリケーションの配布方法

    Javaで mail.jarを使用するアプリケーションを作成したのですが、どのように配布すればいいのか良くわかりません。 メインのクラスを指定したMANIFESTファイルを作成して jarファイルを作成するところまではいいのですが、 mail.jarなどの外部のライブラリをどのように含めればいいのかわかりません。 できれば、作成する jarのなかに mail.jarも含めてしまい各クライアントで Classpathの設定など面倒なことはせずに jarファイルのダブルクリックで実行させたいのですが、可能でしょうか。

    • ベストアンサー
    • Java
  • jarが参照するjarを取り込む必要がありますか?

    Androidアプリ(以下、自作アプリ)でJavaMailを使ったメール送信機能を作成しています。 メール送信機能はjar(以下、自作jar)として実装しており、 自作jarのプロジェクトにはJavaMailに必要な以下のjarファイルを取り込んでいます。  <JavaMailに必要なjarファイル>(以下、外部jarファイル)   ・activation.jar   ・additionnal.jar   ・mail.jar 自作jarファイルのみを自作アプリのプロジェクトに取り込み、 メール送信を行うと以下の例外が発生します。  <発生した例外>   java.lang.NoClassDefFoundError: javax.mail.Session    → クラス(のファイル)が見つからないという例外 試しに自作アプリのプロジェクトに外部jarファイルも一緒に取り込むと正常に動作します。 自作jarのプロジェクトに外部jarファイルを取り込んでいるので、 自作jarファイルには外部jarファイルがすべて取り込まれているように思います。 (2重で取り込んでいるような気がしてとても気持ちが悪いです) 自作アプリのプロジェクトに外部jarファイルを再度、取り込まないといけないのでしょうか?

    • ベストアンサー
    • Java
  • PS2のメール機能のことなのですが・・・・

    BBユニットを買いオンラインに接続したのですがゲームの会員登録でメールアドレスを入れたのですがPS2に届くはずのメールがPCのほうにとどいてしまうんですが設定がおかしいのでしょうか・・・・・^^;メールの初期設定でブロードバンド業者から送られてきたアドレスやパスワード、POPサーバー名とSMTPサーバー名を入力したのですがそれだけだとだめなのでしょうか・・・・・・初心者でよくわからないので教えていただければと思います、よろしくお願いします;;

  • メールリレーの仕組み

    メールの届く仕組みについて下記の通り認識しております。 user@from.jpからuser@to.jpへメールを送る場合 [クライアント(user@from.jp)](SMTP) -->[メールサーバ(from.jp)](SMTP) -->[メールサーバ(任意)] (SMTP) -->[メールサーバ(to.jp)](SMTP) -->[クライアント(user@to.jp)](POP) この届く経路でメールサーバ(from.jp)は どのような設定でメールサーバ(任意)を 選択しているのでしょうか? メールサーバが設定で選択されている場合、 どんな設定でを行っているのでしょうか? qmail sendmail postfixなどの 設定項目を教えていただけると助かります。 どうぞ宜しくお願いいたします。

  • メールサーバへの接続タイムアウトを故意的に発生

    Javamailです props.put("mail.smtp.connectiontimeout","20000"); 上記のように設定しているのですが 本当にこの設定時間でタイムアウトになるか 調べたいと思っています。 ですが、どうやったら タイムアウトが発生するのか分かりません 出来るだけ簡単にできる方法で 回答お願いします。 注)接続中にサーバを落とす以外で

  • java でjarファイルをつくりホームページに公開するには?

    悩んだ結果分からなかったので教えていただきたいのですが。 ホームページを作っていてjava Applet 又は、Swingでjarファイルをつくり、 jarファイルで起動できるまではできました。 いざホームページにアップしようと思った時、 今までAppletはclassを指定してOkでした。 jarファイルにした理由は内部クラスがあるとどうもサーバー側 が受け付けなかったので。 (1)jarファイルを使用した場合どのように記述したらよろしいでしょうか? jarファイルの内容は単純に親クラスと内部クラスを合わせたものです。 (2)swingのjarファイルファイルを使用した場合もどのように記述したら よろしいでしょうか? よろしくお願い申し上げます。 ☆良解答の方にはポイントを差し上げます。

    • ベストアンサー
    • Java
  • FAXのメール転送機能について

    MFC-J6710CDWを使用しています。10月中旬頃から受信FAXを、指定したメールアドレスに転送できなくなりました。OSはwindows7、転送先のメールアドレスは@amber.plala.or.jpを使用。 送信メールサーバー smtp.mail.yahoo.co.jp SMTPポート 587 送信メールサーバ(SMTP)認証方式 SMTP-AUTH プリンタのEメールアドレス ××××@yahoo.co.jp ネットワーク→プロトコル→Eメール送信/受信設定のテスト→Eメール送信設定テストを行うと、「SMTPサーバとの通信に失敗しました。 ネットワークの通信が混雑しているか、一時的な障害が発生した可能性があります。 しばらくたってから再度お試しください。」との結果が表示されます。 ブラザーのサポートに問い合わせしてみましたが、解決できませんでした。何かアドバイスをいただけると助かります。よろしくお願いします。 ※OKWAVEより補足:「ブラザー製品」についての質問です。

専門家に質問してみよう