1. 程式人生 > >session.getdefaultinstance和getinstance的區別

session.getdefaultinstance和getinstance的區別

創建 sta 為什麽 第一個 .com name password default 如果

如果想要同時使用兩個帳號發送javamail,比如使用[email protected]發送1#郵件,使用[email protected]發送2#郵件,這時候,你就需要同時創建兩個java.mail.Session對象。但是如果你仍然使用Session.getDefaultInstance創建session對象的話,你會發現,第二個username:[email protected]創建的session永遠都和第一個一樣,這是為什麽呢?因為,getDefaultInstance是真正單例模式,而且,裏面的username和password屬性是final型的,無法更改。所以,你會發現兩封email都是由[email protected]發出來的。所以這個時候你要使用javax.mail.Session.getInstance()方法來創建session對象。

session.getdefaultinstance和getinstance的區別