来看利用JavaMail发送邮件
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。代码以下:
packagedemo;
importjava.util.Properties;
importjavax.activation.DataHandler;
importjavax.activation.DataSource;
importjavax.activation.FileDataSource;
importjavax.mail.BodyPart;
importjavax.mail.Message;
importjavax.mail.Multipart;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeBodyPart;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeMultipart;
importsun.misc.BASE64Encoder;
publicclassMailSender...{
publicstaticvoidmain(String[]args)...{
MailSendersender=newMailSender();
sender.setHost("smtp.sina.com.cn");
sender.setFromAddr("");
sender.setToAddr("");
sender.setUsername("wwwwwwww");
sender.setPassword("ssssssss");
sender.setTitle("关于进步效力的几点设法");
sender.setAttachPath("C:singleUser.sql");
sender.setAttachName("singleUser.sql");
try...{
sender.sendMail();
}catch(Exceptione)...{
e.printStackTrace();
}
}
publicvoidsendMail()throwsException...{
Propertiesprops=newProperties();
props.put("mail.smtp.host",getHost());
props.put("mail.smtp.auth","true");
Sessionsession=Session.getDefaultInstance(props);
session.setDebug(true);
MimeMessagemessage=newMimeMessage(session);
message.setFrom(newInternetAddress(getFromAddr()));
message.addRecipient(Message.RecipientType.TO,newInternetAddress(getToAddr()));
message.setSubject(getTitle());
Multipartmultipart=newMimeMultipart();
BodyPartcontentPart=newMimeBodyPart();
contentPart.setText("邮件的详细内容在此");
multipart.addBodyPart(contentPart);
if(getAttachPath()!=null&&getAttachName()!=null)...{
BodyPartattachmentPart=newMimeBodyPart();
DataSourcesource=newFileDataSource(getAttachPath());
attachmentPart.setDataHandler(newDataHandler(source));
BASE64Encoderenc=newBASE64Encoder();
attachmentPart.setFileName("=?GBK?B?"+enc.encode(getAttachName().getBytes())+"?=");
multipart.addBodyPart(attachmentPart);
}
message.setContent(multipart);
message.saveChanges();
Transporttransport=session.getTransport("smtp");
transport.connect(host,getUsername(),getPassword());
transport.sendMessage(message,message.getAllRecipients());
transport.close();
}
privateStringhost=null;
privateStringfromAddr=null;
privateStringtoAddr=null;
privateStringusername=null;
privateStringpassword=null;
privateStringtitle=null;
privateStringattachPath=null;
privateStringattachName=null;
publicStringgetHost()...{
returnhost;
}
publicvoidsetHost(Stringhost)...{
this.host=host;
}
publicStringgetFromAddr()...{
returnfromAddr;
}
publicvoidsetFromAddr(StringfromAddr)...{
this.fromAddr=fromAddr;
}
publicStringgetToAddr()...{
returntoAddr;
}
publicvoidsetToAddr(StringtoAddr)...{
this.toAddr=toAddr;
}
publicStringgetUsername()...{
returnusername;
}
publicvoidsetUsername(Stringusername)...{
this.username=username;
}
publicStringgetPassword()...{
returnpassword;
}
publicvoidsetPassword(Stringpassword)...{
this.password=password;
}
publicStringgetTitle()...{
returntitle;
}
publicvoidsetTitle(Stringtitle)...{
this.title=title;
}
publicStringgetAttachPath()...{
returnattachPath;
}
publicvoidsetAttachPath(StringattachPath)...{
this.attachPath=attachPath;
}
publicStringgetAttachName()...{
returnattachName;
}
publicvoidsetAttachName(StringattachName)...{
this.attachName=attachName;
}
}
JAVA学习必须明确这是一项投资,对于大多数的人来说,学习JAVA是为了就业,还有就是刚走向工作位置的朋友想尽快赶上工作的节奏。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
页:
[1]