2011-12-27 26 views
2

plzはapp.confファイル以外の "mail.smtp.user"と "#mail.smtp.pass"を設定する別の方法を提案しています。実行時にsmtp設定を設定する方法

単一のアプリケーションで複数のメールを送信するために複数のsmtpアカウントを使用する必要があるためです。

ので、多分、実行時にプロパティを設定し、Javaで

new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication("[email protected]","abc");    
      }} 
+0

なぜ複数のSMTPアカウントが必要ですか? –

+0

あなたは何を使い終わったのですか? – ripper234

答えて

0

のように、実行時にSMTPサーバを認証する方法はありますか?

System.setProperty("mail.smtp.user", "admin"); 
+0

スレッドセーフではありません。 – ripper234

1

クリーンな方法ではできないと思います。 Mail.getSession()に電話をしてからMail.session = Session.getInstance(session.getProperties(), new SMTPAuthenticator(user, password)); に電話することができますが、このはスレッドセーフではありませんです。ですから、使いやすい別のメールライブラリを使用し、より柔軟性を持たせることをお勧めします。別の解決策は、Mail.javaからコードを取得し、異なるキーのインスタンスを持つMultiMail.javaを作成することです。

関連する問題