Plz提出另一种设置“mail.smtp.user”和“#mail.smtp.pass”的方法,除了app.conf文件。
因为我们想使用多个smtp帐户在单个应用程序中发送多个邮件。
那么有没有办法像运行java
那样在运行时验证smtp服务器 new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("abc@abc.com","abc");
}}
答案 0 :(得分:1)
我认为这不可能以干净的方式进行。您可以拨打Mail.getSession()
,然后拨打Mail.session = Session.getInstance(session.getProperties(), new SMTPAuthenticator(user, password));
但是不是线程安全的。所以我建议使用一个易于使用的不同邮件库,为您提供更大的灵活性。另一个解决方案是从Mail.java获取代码并创建一个MultiMail.java,它具有不同键的实例。
答案 1 :(得分:0)
也许在运行时设置属性?
System.setProperty("mail.smtp.user", "admin");