精灵巫婆 发表于 2015-1-18 11:44:30

JAVA网站制作之JavaMail邮件主题乱码的办理办法

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里有这些工具吗?要简单多少?。

因胸联盟 发表于 2015-1-21 13:37:27

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

第二个灵魂 发表于 2015-1-30 19:24:55

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

爱飞 发表于 2015-2-6 15:17:19

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

若天明 发表于 2015-2-16 20:12:01

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

愤怒的大鸟 发表于 2015-3-5 09:27:55

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

蒙在股里 发表于 2015-3-12 02:42:27

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

admin 发表于 2015-3-17 10:10:29

你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。

飘飘悠悠 发表于 2015-3-17 21:10:59

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

柔情似水 发表于 2015-3-25 02:42:26

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

金色的骷髅 发表于 2015-4-10 22:16:32

Java 编程语言的风格十分接近C、C++语言。

灵魂腐蚀 发表于 2015-4-14 11:37:10

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

老尸 发表于 2015-4-16 14:07:18

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

简单生活 发表于 2015-4-16 21:55:35

是一种突破用户端机器环境和CPU

兰色精灵 发表于 2015-4-25 16:55:35

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

分手快乐 发表于 2015-4-26 05:09:09

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

小魔女 发表于 2015-4-27 16:05:45

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

再现理想 发表于 2015-4-29 06:15:56

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

乐观 发表于 2015-5-6 12:52:16

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

莫相离 发表于 2015-6-4 17:37:24

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
页: [1] 2
查看完整版本: JAVA网站制作之JavaMail邮件主题乱码的办理办法