JAVA网站制作之灌注水,附上我利用javamail smtp的类
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。smtp利用典范:/*
*newsendmail()利用GBK的默许编码发送文本信息
*newsendmail(编码,文本仍是html);
*/
wuyu.javamail.sendmailmail=newwuyu.javamail.sendmail("GBK",true);
/*
*mail.connect(smtp服务器);
*main.connect(smtp服务器,用户名,暗码);合用于smtp认证的发佩服务器
*/
mail.connect(args,args,args);
for(inti=0;i<Integer.parseInt(args);i++){
System.out.print(i+" ");
/*
*main.send(from,to,cc,bcc,主题,注释,附件文件名)
*to,cc,bcc可填写多个mail地点
*附件文件名为null,暗示不发送附件
*/
mail.send("mmwy@ynwst.com",args,"","","这是主题"+i,"<b>这是注释</b>",null);
System.out.println(i);
}
mail.close();
=-=--------------------
sendmail.java
------------------------------
packagewuyu.javamail;
/**
*挪用javamail发送邮件的类
*/
publicclasssendmail{
privateStringencode;//文本编码
privatebooleanHTML;//文本仍是html内容
privatejavax.mail.Sessionsession;
privatejavax.mail.Transporttransport;
publicsendmail(){
this.encode="GBK";
this.HTML=false;
}
publicsendmail(Stringencode,booleanhtml){
this.encode=encode;
this.HTML=html;
}
publicbooleanconnect(StringsmtpHost){
returnconnect(smtpHost,null,null);
}
publicbooleanconnect(StringsmtpHost,Stringuid,Stringpwd){
try{
java.util.Propertiesproperties=newjava.util.Properties();
properties.put("mail.smtp.host",smtpHost);
if(uid==null||uid.equals("")){
session=javax.mail.Session.getInstance(properties,null);
}else{
properties.put("mail.smtp.auth","true");
Authauth=newAuth(uid,pwd);
session=javax.mail.Session.getInstance(properties,auth);
}
transport=session.getTransport("smtp");
transport.connect();
returntrue;
}
catch(Exceptione){
e.printStackTrace();
returnfalse;
}
}
publicvoidclose(){
if(transport!=null){
try{
transport.close();
}
catch(Exceptione){
e.printStackTrace();
}
}
}
publicvoidsend(Stringfrom,Stringto,Stringcc,Stringbcc,Stringsubject,Stringtext,String[]filename){
try{
javax.mail.internet.MimeMessagemimeMessage=createMimeMessage(session,
from,to,cc,bcc,subject,text,filename);
transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());
}
catch(javax.mail.MessagingExceptione){
e.printStackTrace();//TochangebodyofcatchstatementuseOptions|FileTemplates.
}
}
privatejavax.mail.internet.MimeMessagecreateMimeMessage(
javax.mail.Sessionsession,
Stringfrom,Stringto,Stringcc,Stringbcc,
Stringsubject,Stringtext,
String[]filename)throwsjavax.mail.MessagingException{
javax.mail.internet.MimeMessagemessage=newjavax.mail.internet.MimeMessage(session);
javax.mail.internet.InternetAddressfromAddress=newjavax.mail.internet.InternetAddress(from);
message.setFrom(fromAddress);
javax.mail.internet.InternetAddress[]toAddress=javax.mail.internet.InternetAddress.parse(to);
javax.mail.internet.InternetAddress[]ccAddress=javax.mail.internet.InternetAddress.parse(cc);
javax.mail.internet.InternetAddress[]bccAddress=javax.mail.internet.InternetAddress.parse(bcc);
message.setRecipients(javax.mail.Message.RecipientType.TO,toAddress);
message.setRecipients(javax.mail.Message.RecipientType.CC,ccAddress);
message.setRecipients(javax.mail.Message.RecipientType.BCC,bccAddress);
message.setSubject(subject,this.encode);
//处置附件
if(filename!=null&&filename.length>0){
javax.mail.Multipartmultipart=newjavax.mail.internet.MimeMultipart();
javax.mail.internet.MimeBodyPartmimeBodyPart=newjavax.mail.internet.MimeBodyPart();
if(HTML){
mimeBodyPart.setContent(text,"text/html;charset="+this.encode);
}else{
mimeBodyPart.setText(text,this.encode);
}
multipart.addBodyPart(mimeBodyPart);
for(inti=0;i<filename.length;i++){
try{
javax.mail.internet.MimeBodyPartfileBodyPart=newjavax.mail.internet.MimeBodyPart();
javax.activation.DataSourcedatasource=newjavax.activation.FileDataSource(filename);
fileBodyPart.setDataHandler(newjavax.activation.DataHandler(datasource));
fileBodyPart.setFileName(newjava.io.File(filename).getName());
multipart.addBodyPart(fileBodyPart);
}
catch(Exceptione){
e.printStackTrace();
}
}
message.setContent(multipart);
}else{
if(HTML){
message.setContent(text,"text/html;charset="+this.encode);
}else{
message.setText(text,this.encode);
}
}
returnmessage;
}
}
Auth.java
------------------------
packagewuyu.javamail;
publicclassAuthextendsjavax.mail.Authenticator{
privateStringuser,pwd;
publicAuth(Stringuser,Stringpwd){
this.user=user;
this.pwd=pwd;
}
protectedjavax.mail.PasswordAuthenticationgetPasswordAuthentication(){
returnnewjavax.mail.PasswordAuthentication(this.user,this.pwd);
}
}
在1995年5月23日以“Java”的名称正式发布了。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 Java是一种计算机编程语言,拥有跨平台、面向对java Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
页:
[1]