何谓getDefaultInstance?
从处理流程中可以看出,首先是从缓存中查找是否有properties存在
如果存在,则加载默认的properties
如果不存在才加载用户自己定义的properties,
所以当一个应用为每个用户独立创建properties的时候,还是应该调用getInstance,
除非你希望有一个默认的properties让用户使用
问题找到了,因为它会首先去内存和系统文件中去找properties,所以不管我在页面改几次数据,其实在后台中生成session时都和系统启动时的一样,所以在MailUtil.sendTextMessage(mailSession,RptTaskMailConfig.Sender,
receiver,null,mail_subject,mail_content,"GB2312",null);时session里的sender和传入的sender不一致,因此出错,修改Session.getDefaultInstance(props, authentic);为Session.getInstance(props, authentic);后,可以正确发送修改帐号,密码等资料后的邮件.OK
最后再补充一下,session.getdefaultinstance和getinstance的区别 :
如果想要同时使用两个帐号发送javamail,比如使用1@a.com发送1#邮件,使用2@a.com发送2#邮件,这时候,你就需要同时创建两个java.mail.Session对象。但是如果你仍然使用Session.getDefaultInstance创建session对象的话,你会发现,第二个username:2@a.com创建的session永远都和第一个一样,这是为什么呢?因为,getDefaultInstance是真正单例模式,而且,里面的username和password属性是final型的,无法更改。所以,你会发现两封email都是由1@a.com发出来的。所以这个时候你要使用javax.mail.Session.getInstance()方法来创建session对象。
原文地址:http://muder2007.blog.163.com/blog/static/45933070200872025130613/
分享到:
相关推荐
javamail中文API文档 方法解释详细。
虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeans Activation Framework ...
pop3不加密方式收信、imap不加密方式收信、smtp不加密发信、smtp加密发信
JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。
包含JavaMail1.4.5、JAF1.1.1、JavaMail API文档英文版,以及JavaMailAPI中文详解
javamail附件从流中获取
3.Session对象可以通过Session的getInstance(java.util.Properties props) 或getInstance(java.util.Properties props, Authenticator authenticator) Authenticator 可以理解为密码和用户名的验证器 或...
javamail的jar包:javamail-1.6; javamail的jar包:javamail-1.6
javamail开发,带图形界面,邮件的发送,接收,带附件,html,邮件解析
包含javamail使用示例, API文档与源代码。
javamail中开发所用到的mail.jar和activation.jar
Fundamentals of the JavaMail API Presented by developerWorks, your source for great tutorials ibm.com/developerWorks Table of Contents If you're viewing this document online, you can click ...
有关于javaMail的一些代码,可以进行邮件的发送还有邮件的接收。
这是 http://blog.csdn.net/y353027520dx/article/details/42418117 文章的源代码和使用的jar包,解压后就能直接运行,希望大家多多支持啊
javamail.jar,javamail资源包
javamail 中文 教程
javaMail API 跟 jar包
javaMail javaMail javaMail javaMail javaMail javaMail javaMail
javaMail API和JAR包含:mail.jar及里面Message类、Transport类、Store类等api具体说明
javaMail中的cos,jsf,JavaMail三个jar包 邮件发送jar包打好包,方便后人使用