Content-type是跟data handler 密切相关的,也就是跟data source有关的
这个InputStream是合法的邮件形成的我曾经写过这样的程序,透过防火墙发信
发信时,生成MimeMessage对象,然后通过socket和防火墙外的servlet通信,把信以流的形式传出,servlet中利用这个输入流重新构造信件
代码大致如下,希望对你有用//发信
MimeMessage message = getMessage();
if(message == null){
return false;
}
try{
URL url = new URL(mailOutURL);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
OutputStream os = new BufferedOutputStream(connection.getOutputStream());
message.writeTo(os);
os.close();
InputStream is = new BufferedInputStream(connection.getInputStream());
int c = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((c=is.read())!=-1){
baos.write(c);
}
is.close();
connection.disconnect();
String ok = baos.toString();
baos.close();
if(needKeepRecord){
record(message);
}
if(OK.equals(ok)){
return true;
}else{
setError("...........");
return false;
}
//servlet 重新构造信件 boolean success = true;
Properties props = new Properties();
props.put("mail.smtp.host" , smtpHost);
props.put("mail.host",smtpHost);
Session session = null;
if(userId !=null){
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.user", userId);
props.put("mail.smtp.password",password);
session = javax.mail.Session.getInstance(props,new MyAuthenticator(userId, password));
}else{
session = javax.mail.Session.getDefaultInstance(props,null);
}
session.setDebug(true);
String error = "";
InputStream is =
new BufferedInputStream(
request.getInputStream());
try{
MimeMessage message = new MimeMessage(session, is);
Transport.send(message);
}catch(MessagingException me){
success = false;
me.printStackTrace();
error = me.toString();
}
is.close();
if(success){
out.print(MailSender.OK);
}else{
out.print(MailSender.FAIL + " " + error);
}
这个InputStream是合法的邮件形成的我曾经写过这样的程序,透过防火墙发信
发信时,生成MimeMessage对象,然后通过socket和防火墙外的servlet通信,把信以流的形式传出,servlet中利用这个输入流重新构造信件
代码大致如下,希望对你有用//发信
MimeMessage message = getMessage();
if(message == null){
return false;
}
try{
URL url = new URL(mailOutURL);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
OutputStream os = new BufferedOutputStream(connection.getOutputStream());
message.writeTo(os);
os.close();
InputStream is = new BufferedInputStream(connection.getInputStream());
int c = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((c=is.read())!=-1){
baos.write(c);
}
is.close();
connection.disconnect();
String ok = baos.toString();
baos.close();
if(needKeepRecord){
record(message);
}
if(OK.equals(ok)){
return true;
}else{
setError("...........");
return false;
}
//servlet 重新构造信件 boolean success = true;
Properties props = new Properties();
props.put("mail.smtp.host" , smtpHost);
props.put("mail.host",smtpHost);
Session session = null;
if(userId !=null){
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.user", userId);
props.put("mail.smtp.password",password);
session = javax.mail.Session.getInstance(props,new MyAuthenticator(userId, password));
}else{
session = javax.mail.Session.getDefaultInstance(props,null);
}
session.setDebug(true);
String error = "";
InputStream is =
new BufferedInputStream(
request.getInputStream());
try{
MimeMessage message = new MimeMessage(session, is);
Transport.send(message);
}catch(MessagingException me){
success = false;
me.printStackTrace();
error = me.toString();
}
is.close();
if(success){
out.print(MailSender.OK);
}else{
out.print(MailSender.FAIL + " " + error);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货