繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 邮件相关 >> 用javamail发邮件(含附件),用jBuilder3实现

用javamail发邮件(含附件),用jBuilder3实现

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:72  文字大小:【】【】【
简介://Title:        Your Product Name //Version:       //Copyright:    Copyright (c) 1999 //Author:  ...

//Title: Your Product Name

//Version:

//Copyright: Copyright (c) 1999

//Author: Your Name

//Company: Your Company

//Description: Your description

package Mail;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.util.*;

import java.io.*;

import javax.mail.*;

import javax.mail.internet.*;

import javax.activation.*;

public class SendMail extends Frame {

Label label1 = new Label();

TextField textField1 = new TextField();

Label label2 = new Label();

TextField textField2 = new TextField();

Label label3 = new Label();

TextArea textArea1 = new TextArea();

Label label4 = new Label();

TextField textField3 = new TextField();

Button button1 = new Button();

Button button2 = new Button();

public SendMail() {

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

try {

jbInit();

}

catch(Exception e) {

e.printStackTrace();

}

}

protected void processWindowEvent(WindowEvent e) {

super.processWindowEvent(e);

if(e.getID() == WindowEvent.WINDOW_CLOSING) {

System.exit(0);

}

}

public static void main(String[] args) {

SendMail sendMail1 = new SendMail();

sendMail1.setSize (400,400);

sendMail1.show (true);

}

private void jbInit() throws Exception {

label1.setBounds(new Rectangle(41, 38, 45, 23));

label1.setText("收信人");

this.setLayout(null);

this.setSize (400,400);

textField1.setBounds(new Rectangle(110, 36, 174, 23));

label2.setBounds(new Rectangle(42, 75, 38, 23));

label2.setText("主题");

textField2.setBounds(new Rectangle(110, 76, 173, 23));

label3.setBounds(new Rectangle(43, 148, 38, 23));

label3.setText("内容");

textArea1.setBounds(new Rectangle(110, 155, 256, 170));

label4.setBounds(new Rectangle(45, 111, 44, 23));

label4.setText("附件");

textField3.setBounds(new Rectangle(110, 115, 173, 23));

button1.setBounds(new Rectangle(70, 348, 88, 24));

button1.setLabel("发送");

button1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(ActionEvent e) {

button1_actionPerformed(e);

}

});

button2.setBounds(new Rectangle(244, 348, 88, 24));

button2.setLabel("重填");

button2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(ActionEvent e) {

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);

}

void button2_actionPerformed(ActionEvent e) {

textField1.setText ("");

textField2.setText ("");

textField3.setText ("");

textArea1.setText ("");

}

void button1_actionPerformed(ActionEvent e) {

String to,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;

File file=new File(attachment);

if(!attachment.equals ("")){

if(!file.isFile ()){

JOptionPane.showMessageDialog(this, "无效的附件名!", "错误", JOptionPane.ERROR_MESSAGE);

return;

}

}

//以上程序是检验输入的有效性

// create some properties and get the default Session

Properties props = System.getProperties();

props.put("mail.smtp.host", "192.168.0.1");

Session session = Session.getDefaultInstance(props, null);

session.setDebug(false);

try{

// create a message

MimeMessage msg = new MimeMessage(session);

msg.setFrom(new InternetAddress(from));

InternetAddress[] address = {new InternetAddress(to)};

msg.setRecipients(Message.RecipientType.TO, address);

msg.setSubject(subject);

msg.addHeader ("toone","fangjianhua");

if(attachment.equals ("")){

System.out.println ("This is plain mail");

msg.setText (message);

}

else {

System.out.println ("this is a multipart mail");

// create and fill the first message part

MimeBodyPart mbp1 = new MimeBodyPart();

mbp1.setText(message);

// create the second message part

MimeBodyPart mbp2 = new MimeBodyPart();

// attach the file to the message

FileDataSource fds = new FileDataSource(file);

mbp2.setDataHandler(new DataHandler(fds));

mbp2.setFileName(fds.getName());

// create the Multipart and its parts to it

Multipart mp = new MimeMultipart();

mp.addBodyPart(mbp1);

mp.addBodyPart(mbp2);

// add the Multipart to the message

msg.setContent(mp);

}

msg.setSentDate(new Date());

// send the message

//for(int i=0;i<10;i++)

Transport.send(msg);

//System.out.println ("Send a mail success");

JOptionPane.showMessageDialog(this, "邮件发送成功", "系统提示",JOptionPane.INFORMATION_MESSAGE );

}

catch(Exception ex){

JOptionPane.showMessageDialog(this, "发送邮件失败", "错误", JOptionPane.ERROR_MESSAGE);

}

}

}

责任编辑:admin
相关文章