|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点办理良多伴侣都利用过JavaMail举行邮件发送,在邮件注释中的乱码简单办理。但邮件主题的乱码不管如何转码老是显现一堆乱码。究竟应当怎样处置呢?
JavaMail中的邮件主题必要举行BASE64编码,
格局形如:
=?GB2312?B?xPq1xMPcwuvS0b6t1tjWw6Osx+u+ob/stcfCvKOssqLQ3rjEw9zC66Oh?=
以是,间接利用msg.setSubject("中文主题"),大概msg.setSubject("中文主题".getBytes("8859_1"),"GB2312"))都一样会呈现乱码。
在设置邮件主题前必要将主题字串的字节编码为BASE64格局,并增加编船埠,示例代码以下:
try{
Stringsubject="中华天下helloworld";
Stringcontent="测试邮件中言语成绩.helloworld";
Contextctx=newInitialContext();
if(ctx==null)
thrownewException("NOContext()");
System.out.println(ctx);
javax.mail.Sessionmailsession=(javax.mail.Session)ctx.lookup("java:comp/env/mail/session");
System.out.println(mailsession);
Messagemsg=newMimeMessage(mailsession);
InternetAddress[]toAddrs=InternetAddress.parse("david.li@maxcard.com",false);
msg.setRecipients(Message.RecipientType.TO,toAddrs);
//msg.setSubject("=?GB2312?B?"+Base64.encode(subject.getBytes())+"?=");
//将中文转化为GB2312编码
subject=StringUtil.getString(subject,"GB2312");
subject=newString(Base64.encode((subject).getBytes()));
msg.setSubject("=?GB2312?B?"+subject+"?=");
msg.setFrom(newInternetAddress("david.li@maxcard.com"));
msg.setText(StringUtil.getString(content,"GB2312"));
//
Transportt=mailsession.getTransport("smtp");
t.send(msg);
out.println("乐成");
//Transport.send(msg);
}catch(Exceptione){
out.println("失利");
System.out.println(e);
}
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。 |
|