通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>服 务 器>>mail服务器>>正文 新版上线![旧版]
注:打开慢时请稍等
通过e-mail 共享java 对象

http://www.iyit.net  日期:2006-5-6 10:37:55  来源:不详  点击:
参加讨论

1 public class codecs {
2 private codecs() {} // do not instantiate this class
3 public final static string base64encode(string strinput) {
4 if (strinput == null) return null;
5 byte bytedata[] = new byte[strinput.length()];
6 strinput.getbytes(0, strinput.length(), bytedata, 0);
7 return new string(base64encode(bytedata), 0);
8 }
9 public final static byte[] base64encode(byte[] bytedata) {
10 if (bytedata == null) return null;
11 int isrcidx; // index into source (bytedata)
12 int idestidx; // index into destination (bytedest)
13 byte bytedest[] = new byte[((bytedata.length+2)/3)*4];
14 for (isrcidx=0, idestidx=0; isrcidx >> 2) & 077);
16 bytedest[idestidx++] = (byte) ((bytedata[isrcidx+1] >>> 4) & 017 |
(bytedata[isrcidx] << 4) & 077); 17 bytedest[idestidx++]="(byte)" ((bytedata[isrcidx+2]>>> 6) & 003 |
(bytedata[isrcidx+1] << 2) & 077); 18 bytedest[idestidx++]="(byte)" (bytedata[isrcidx+2] & 077); 19 } 20 if (isrcidx < bytedata.length) { 21 bytedest[idestidx++]="(byte)" ((bytedata[isrcidx]>>> 2) & 077);
22 if (isrcidx >> 4) & 017 |
(bytedata[isrcidx] << 4) & 077); 24 bytedest[idestidx++]="(byte)" ((bytedata[isrcidx+1] << 2) & 077); 25 } 26 else 27 bytedest[idestidx++]="(byte)" ((bytedata[isrcidx] << 4) & 077); 28 } 29 for (isrcidx="0;" isrcidx < idestidx; isrcidx++) { 30 if (bytedest[isrcidx] < 26) bytedest[isrcidx]="(byte)(bytedest[isrcidx]" + 'a'); 31 else if (bytedest[isrcidx] < 52) bytedest[isrcidx]="(byte)(bytedest[isrcidx]" + 'a'-26); 32 else if (bytedest[isrcidx] < 62) bytedest[isrcidx]="(byte)(bytedest[isrcidx]" + '0'-52); 33 else if (bytedest[isrcidx] < 63) bytedest[isrcidx]="+" ; 34 else bytedest[isrcidx]="/" ; 35 } 36 for ( ; isrcidx < bytedest.length; isrcidx++) 37 bytedest[isrcidx]="=" ; 38 return bytedest; 39 } 40 } 


1-2定义public的codecs类和一个不能被用户调用的构造函数。通常,这个类不应被例示。

3-8定义一个encodebase64()方法函数。它的参数类型是string类型,返回base64编码的string。 它通过调用string。getbytes()并将结果数组传送至encodebase64(byte[])来完成函数的 功能。

9-39定义一个encodebase64()方法函数。参数为字符数组,返回base64编码的数组数组。

10如果参数值为null,退出方法函数。

11-13定义工作变量,其中字节dest数组包含了返回调用者的编码。注意,转换后的数组 比输入数组大约大三分之一。这是因为每个三字节s组被转换成四个字节。

14-19循环遍历整个输入数组,每次24比特,把这三个8比特组转换成四个两两之间相距二 比特的6比特组。这段代码比最初出现时简单。仔细学习,看看和前面的例子有什么不同。

20-28如果输入数组的字节s数目不是3的倍数,则转换余下的1或2个字节。

29-35把所得的编码数据作为base64码表的下标。(base64码表在rfc1521中说明)

36-37把目标串中的没有使用的字符置为'='。

38返回给调用者基于based64的编码。
  我们已经取得了很重要的进展。到目前为止,我们已能序列化对象并将它放入内存,把它 转化为基于base64编码,目的是使用e-mail工具将它发给目标用户。作为我们目前进展的 总结,下面有一个代码片断,它生成一个bugreport对象实例,把它序列化并放入内存,然后 转化为base64编码。

1 import java.io.*;
2 import codecs.base64encode;
:
3 bugreport bug = new bugreport(1.0, "crashes when spell checker invoked", 2);
4 字 节arrayoutputstream os = new 字 节arrayoutputstream();
5 bug.save(os);
6 string strserializedbug = os.tostring();
7 strserializedbug = codecs.base64encode(strserializedbug);


和smtp服务器连接

如果你想发一封邮件,必须通过以下五个步骤:

1.为smtp服务器申请一个域名

2.建立一个tcp/ip的会话(session)

3.在服务器上登录

4.填写收信人的地址

5.撰写邮件的内容

下面分别就这些步骤进行讨论。

     为smtp服务器申请一个域名
正如你发送普通信件一样,你首先得找一个邮局。对居民区和商业单位来说这是一件非 常简单的事,因为邮筒就在门口。internet上的电子邮件也同样简单。


本新闻共5页,当前在第4页  1  2  3  4  5  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:你的email服务器准备好应对账号搜集攻击了吗
下一篇:个人smtp服务器的配置
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
linux + java 会得到什么 利用java语言实现支持视频点播的web服务 利用java语言实现支持视频点播的web服务
利用java语言实现支持视频点播的web服务 利用java语言实现支持视频点播的web服务 利用java语言实现支持视频点播的web服务
sun java系统web服务器:关键任务的选择 javascript 实用的一些技巧  奇妙的javascript图片放大镜
java数据类型转换 用 javascript 写的一个映射表类 用 javascript 写的一个映射表类
javascript 对象与数组参考大全 javascript实例教程(3-2) javascript实例教程(3-1)
javascript实例教程(2) 创建弹出式窗 javascript实例教程(1) 目录  javascript: 改变和控制显示的图片大小
计算鼠标所在位置的x,y坐标的javascrip javascript实用的一些技巧  javascript实例教程(20-4)
javascript实例教程(20-3) javascript实例教程(20-2) javascript实例教程(20-1)
最新更新 热点排行 推荐新闻
用webeasymail架构web邮件服务器(5)
用webeasymail架构web邮件服务器(4)
用webeasymail架构web邮件服务器(3)
用webeasymail架构web邮件服务器(2)
用webeasymail架构web邮件服务器(1)
linux服务器日志管理详解(3)
linux服务器日志管理详解(2)
linux服务器日志管理详解(1)
在linux下设置www server(4)
在linux下设置www server(3)
在linux下设置www server(2)
在linux下设置www server(1)
设定linux web 服务器(6)
设定linux web 服务器(5)
设定linux web 服务器(4)
用webeasymail架构web邮件服务器(5)
用webeasymail架构web邮件服务器(4)
用webeasymail架构web邮件服务器(3)
用webeasymail架构web邮件服务器(2)
用webeasymail架构web邮件服务器(1)
qq珊瑚虫外挂4.0版本发布!
免费在qq上看在线电影电视听音乐
免费把qq炫铃设为本机qq的系统提示音
新开放qq免费挂级网站
摄影后期系列一:1分钟为数码相片去红眼
流金岁月!cpu历史上最难忘的十个第一
教您显示器亮度对比度的调节
腾讯qq调整升级条件不再诱发网民“通宵
qq挂机的n种快速方法
asp自动解压rar文件
巧用photoshop图案工具
用photoshop制成浪漫的“珍珠项链”
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息