下面列出了怎么用javax.mail.internet.MimePartDataSource的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public Object getObjectInstance(Object refObj, Name name, Context ctx,
Hashtable<?,?> env) throws Exception {
final Reference ref = (Reference)refObj;
// Creation of the DataSource is wrapped inside a doPrivileged
// so that javamail can read its default properties without
// throwing Security Exceptions
if (ref.getClassName().equals(DataSourceClassName)) {
return AccessController.doPrivileged(
new PrivilegedAction<MimePartDataSource>()
{
@Override
public MimePartDataSource run() {
// set up the smtp session that will send the message
Properties props = new Properties();
// enumeration of all refaddr
Enumeration<RefAddr> list = ref.getAll();
// current refaddr to be set
RefAddr refaddr;
// set transport to smtp
props.put("mail.transport.protocol", "smtp");
while (list.hasMoreElements()) {
refaddr = list.nextElement();
// set property
props.put(refaddr.getType(), refaddr.getContent());
}
MimeMessage message = new MimeMessage(
Session.getInstance(props));
try {
RefAddr fromAddr = ref.get("mail.from");
String from = null;
if (fromAddr != null) {
from = (String)ref.get("mail.from").getContent();
}
if (from != null) {
message.setFrom(new InternetAddress(from));
}
message.setSubject("");
} catch (Exception e) {/*Ignore*/}
MimePartDataSource mds = new MimePartDataSource(message);
return mds;
}
} );
}
else { // We can't create an instance of the DataSource
return null;
}
}
@Override
public Object getObjectInstance(Object refObj, Name name, Context ctx,
Hashtable<?,?> env) throws Exception {
final Reference ref = (Reference)refObj;
// Creation of the DataSource is wrapped inside a doPrivileged
// so that javamail can read its default properties without
// throwing Security Exceptions
if (ref.getClassName().equals(DataSourceClassName)) {
return AccessController.doPrivileged(
new PrivilegedAction<MimePartDataSource>()
{
@Override
public MimePartDataSource run() {
// set up the smtp session that will send the message
Properties props = new Properties();
// enumeration of all refaddr
Enumeration<RefAddr> list = ref.getAll();
// current refaddr to be set
RefAddr refaddr;
// set transport to smtp
props.put("mail.transport.protocol", "smtp");
while (list.hasMoreElements()) {
refaddr = list.nextElement();
// set property
props.put(refaddr.getType(), refaddr.getContent());
}
MimeMessage message = new MimeMessage(
Session.getInstance(props));
try {
RefAddr fromAddr = ref.get("mail.from");
String from = null;
if (fromAddr != null) {
from = (String)ref.get("mail.from").getContent();
}
if (from != null) {
message.setFrom(new InternetAddress(from));
}
message.setSubject("");
} catch (Exception e) {/*Ignore*/}
MimePartDataSource mds = new MimePartDataSource(message);
return mds;
}
} );
}
else { // We can't create an instance of the DataSource
return null;
}
}
@Override
public Object getObjectInstance(Object refObj, Name name, Context ctx,
Hashtable<?,?> env) throws Exception {
final Reference ref = (Reference)refObj;
// Creation of the DataSource is wrapped inside a doPrivileged
// so that javamail can read its default properties without
// throwing Security Exceptions
if (ref.getClassName().equals(DataSourceClassName)) {
return AccessController.doPrivileged(
new PrivilegedAction<MimePartDataSource>()
{
@Override
public MimePartDataSource run() {
// set up the smtp session that will send the message
Properties props = new Properties();
// enumeration of all refaddr
Enumeration<RefAddr> list = ref.getAll();
// current refaddr to be set
RefAddr refaddr;
// set transport to smtp
props.put("mail.transport.protocol", "smtp");
while (list.hasMoreElements()) {
refaddr = list.nextElement();
// set property
props.put(refaddr.getType(), refaddr.getContent());
}
MimeMessage message = new MimeMessage(
Session.getInstance(props));
try {
RefAddr fromAddr = ref.get("mail.from");
String from = null;
if (fromAddr != null) {
from = (String)ref.get("mail.from").getContent();
}
if (from != null) {
message.setFrom(new InternetAddress(from));
}
message.setSubject("");
} catch (Exception e) {/*Ignore*/}
MimePartDataSource mds = new MimePartDataSource(message);
return mds;
}
} );
}
else { // We can't create an instance of the DataSource
return null;
}
}