仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 472|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA网站制作之灌注水,附上我利用javamail smtp的类

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:25:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。smtp利用典范:
/*
*newsendmail()利用GBK的默许编码发送文本信息
*newsendmail(编码,文本仍是html);
*/
wuyu.javamail.sendmailmail=newwuyu.javamail.sendmail("GBK",true);
/*
*mail.connect(smtp服务器);
*main.connect(smtp服务器,用户名,暗码);合用于smtp认证的发佩服务器
*/
mail.connect(args[0],args[1],args[2]);
for(inti=0;i<Integer.parseInt(args[3]);i++){
System.out.print(i+"        ");
/*
*main.send(from,to,cc,bcc,主题,注释,附件文件名)
*to,cc,bcc可填写多个mail地点
*附件文件名为null,暗示不发送附件
*/
mail.send("mmwy@ynwst.com",args[4],"","","这是主题"+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[i]);
fileBodyPart.setDataHandler(newjavax.activation.DataHandler(datasource));
fileBodyPart.setFileName(newjava.io.File(filename[i]).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”的名称正式发布了。
不帅 该用户已被删除
沙发
发表于 2015-1-21 06:09:20 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-25 12:05:37 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
爱飞 该用户已被删除
地板
发表于 2015-1-28 09:28:05 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
因胸联盟 该用户已被删除
5#
发表于 2015-2-5 14:00:27 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
深爱那片海 该用户已被删除
6#
发表于 2015-2-5 14:28:35 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
分手快乐 该用户已被删除
7#
发表于 2015-2-12 03:33:02 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
乐观 该用户已被删除
8#
发表于 2015-3-2 21:44:08 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
简单生活 该用户已被删除
9#
发表于 2015-3-11 06:37:47 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
兰色精灵 该用户已被删除
10#
发表于 2015-3-12 16:36:35 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
海妖 该用户已被删除
11#
发表于 2015-3-20 00:12:40 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-20 21:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表