飘飘悠悠 发表于 2015-1-18 11:25:29

JAVA网页编程之用javamail发邮件(含附件),用jBuilder3...

而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!发邮件//Title:YourProductName
//Version:
//Copyright:Copyright(c)1999
//Author:YourName
//Company:YourCompany
//Description:Yourdescription

packageMail;

importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.util.*;
importjava.io.*;
importjavax.mail.*;
importjavax.mail.internet.*;
importjavax.activation.*;


publicclassSendMailextendsFrame{
Labellabel1=newLabel();
TextFieldtextField1=newTextField();
Labellabel2=newLabel();
TextFieldtextField2=newTextField();
Labellabel3=newLabel();
TextAreatextArea1=newTextArea();
Labellabel4=newLabel();
TextFieldtextField3=newTextField();
Buttonbutton1=newButton();
Buttonbutton2=newButton();

publicSendMail(){
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try{
jbInit();
}
catch(Exceptione){
e.printStackTrace();
}
}
protectedvoidprocessWindowEvent(WindowEvente){
super.processWindowEvent(e);
if(e.getID()==WindowEvent.WINDOW_CLOSING){
System.exit(0);
}
}
publicstaticvoidmain(String[]args){
SendMailsendMail1=newSendMail();
sendMail1.setSize(400,400);
sendMail1.show(true);
}

privatevoidjbInit()throwsException{
label1.setBounds(newRectangle(41,38,45,23));
label1.setText("收信人");
this.setLayout(null);
this.setSize(400,400);
textField1.setBounds(newRectangle(110,36,174,23));
label2.setBounds(newRectangle(42,75,38,23));
label2.setText("主题");
textField2.setBounds(newRectangle(110,76,173,23));
label3.setBounds(newRectangle(43,148,38,23));
label3.setText("内容");
textArea1.setBounds(newRectangle(110,155,256,170));
label4.setBounds(newRectangle(45,111,44,23));
label4.setText("附件");
textField3.setBounds(newRectangle(110,115,173,23));
button1.setBounds(newRectangle(70,348,88,24));
button1.setLabel("发送");
button1.addActionListener(newjava.awt.event.ActionListener(){

publicvoidactionPerformed(ActionEvente){
button1_actionPerformed(e);
}
});
button2.setBounds(newRectangle(244,348,88,24));
button2.setLabel("重填");
button2.addActionListener(newjava.awt.event.ActionListener(){

publicvoidactionPerformed(ActionEvente){
button2_actionPerformed(e);
}
});
this.add(label1,null);
this.add(textField1,null);
this.add(textField2,null);
this.add(textField3,null);
this.add(textArea1,null);
this.add(label2,null);
this.add(label4,null);
this.add(label3,null);
this.add(button2,null);
this.add(button1,null);
}

voidbutton2_actionPerformed(ActionEvente){
textField1.setText("");
textField2.setText("");
textField3.setText("");
textArea1.setText("");
}

voidbutton1_actionPerformed(ActionEvente){
Stringto,from,subject,message,attachment;
from="toone@mail.com";
to=textField1.getText();
if(to.trim().equals("")){
JOptionPane.showMessageDialog(this,"收信人不克不及为空!","毛病",JOptionPane.ERROR_MESSAGE);
return;
}
message=textArea1.getText();
attachment=textField3.getText();
if(message.trim().equals("")&&attachment.trim().equals("")){
JOptionPane.showMessageDialog(this,"内容和附件不克不及都为空!","毛病",JOptionPane.ERROR_MESSAGE);
return;
}
if(to.indexOf("@")==-1){
JOptionPane.showMessageDialog(this,"有效的收信人地点!","毛病",JOptionPane.ERROR_MESSAGE);
return;
}
subject=textField2.getText().trim();
if(subject.equals(""))
if(JOptionPane.showConfirmDialog(this,"你不必要设置主题吗?","体系提醒",0)!=0)
return;
Filefile=newFile(attachment);
if(!attachment.equals("")){
if(!file.isFile()){
JOptionPane.showMessageDialog(this,"有效的附件名!","毛病",JOptionPane.ERROR_MESSAGE);
return;
}
}
//以上程序是查验输出的无效性

//createsomepropertiesandgetthedefaultSession
Propertiesprops=System.getProperties();
props.put("mail.smtp.host","192.168.0.1");
Sessionsession=Session.getDefaultInstance(props,null);
session.setDebug(false);

try{
//createamessage
MimeMessagemsg=newMimeMessage(session);
msg.setFrom(newInternetAddress(from));
InternetAddress[]address={newInternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO,address);
msg.setSubject(subject);
msg.addHeader("toone","fangjianhua");
if(attachment.equals("")){
System.out.println("Thisisplainmail");
msg.setText(message);
}
else{
System.out.println("thisisamultipartmail");
//createandfillthefirstmessagepart
MimeBodyPartmbp1=newMimeBodyPart();
mbp1.setText(message);

//createthesecondmessagepart
MimeBodyPartmbp2=newMimeBodyPart();

//attachthefiletothemessage
FileDataSourcefds=newFileDataSource(file);
mbp2.setDataHandler(newDataHandler(fds));
mbp2.setFileName(fds.getName());

//createtheMultipartanditspartstoit
Multipartmp=newMimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);

//addtheMultiparttothemessage
msg.setContent(mp);
}
msg.setSentDate(newDate());
//sendthemessage
//for(inti=0;i<10;i++)
Transport.send(msg);
//System.out.println("Sendamailsuccess");
JOptionPane.showMessageDialog(this,"邮件发送乐成","体系提醒",JOptionPane.INFORMATION_MESSAGE);
}
catch(Exceptionex){
JOptionPane.showMessageDialog(this,"发送邮件失利","毛病",JOptionPane.ERROR_MESSAGE);
}

}
}

其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。

若相依 发表于 2015-1-21 06:08:03

是一种为 Internet发展的计算机语言

金色的骷髅 发表于 2015-2-1 19:39:23

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

简单生活 发表于 2015-2-7 14:01:16

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

小妖女 发表于 2015-2-9 07:24:41

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

柔情似水 发表于 2015-2-12 06:58:41

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

因胸联盟 发表于 2015-2-27 04:36:57

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

莫相离 发表于 2015-3-8 20:37:57

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

灵魂腐蚀 发表于 2015-3-16 13:39:54

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

仓酷云 发表于 2015-3-22 23:10:40

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
页: [1]
查看完整版本: JAVA网页编程之用javamail发邮件(含附件),用jBuilder3...