繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> Java与XML >> JavaMail操作的总结(4)

JavaMail操作的总结(4)

2004-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  //此段代码用来发送带有html信息的邮件 void jButton8_actionPerformed(ActionEvent e) { try { Properties props = new Properties(); Authenticator auth = new Email_Autherticator(); props.put("mail.s...
关键字:JavaMail

  //此段代码用来发送带有html信息的邮件

void jButton8_actionPerformed(ActionEvent e) {

try

{

Properties props = new Properties();

Authenticator auth = new Email_Autherticator();

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

props.put("mail.smtp.auth","true");

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

MimeMessage message = new MimeMessage(session);

//设置邮件正文

String htmltext="< h1>hello< /h1>"+"< a href="http://www.sina.com.cn" target="_blank">click me please!< /a>";

message.setContent(htmltext,"text/html");//text/plain设置邮件的格式因为是带有html文档的,所以用text/html格式

message.setSubject(mail_subject);

// message.setText(mail_body);在使用message.setContent()时候,好象不能用message.setText()

message.setHeader(mail_head_name,mail_head_value);

message.setSentDate(new Date());

Address address = new InternetAddress(mail_from,"sunxiaoming");

message.setFrom(address);

Address toAddress = new InternetAddress(mail_to);

message.addRecipient(Message.RecipientType.TO,toAddress);

Transport.send(message);

System.out.println("send ok!");

}

catch(Exception ex)

{

System.out.println("faild"+ex);

}

}

//此段代码用来发送带有图片的邮件

void jButton9_actionPerformed(ActionEvent e) {

try

{

String file = "./20020423/test.gif";

Properties props = new Properties();

Authenticator auth = new Email_Autherticator();

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

props.put("mail.smtp.auth","true");

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

MimeMessage message = new MimeMessage(session);

message.setSubject("Embedded Image");

Address address = new InternetAddress(mail_from,"sunxiaoming");

message.setFrom(address);

Address toAddress = new InternetAddress(mail_to);

message.addRecipient(Message.RecipientType.TO,toAddress);

message.setHeader(mail_head_name,mail_head_value);

message.setSentDate(new Date());

BodyPart messageBodyPart = new MimeBodyPart();

String htmlText = "< h1>< /h1>"+"< img src="cid:memememe">";//加入图片

messageBodyPart.setContent(htmlText,"text/html");

//原理同发送附件一样,将邮件看成有多个部分组成的,先设置每一个部分,然后再全部将它们合起来即可。

//Create a related multi-part to combine the parts

MimeMultipart multipart = new MimeMultipart("related");

multipart.addBodyPart(messageBodyPart);

//Create part for the image

messageBodyPart = new MimeBodyPart();

//Fetch the image and associate to part

DataSource fds = new FileDataSource(file);

messageBodyPart.setDataHandler(new DataHandler(fds));

messageBodyPart.setHeader("Content-ID","memememe");

//Add part to multi-part

multipart.addBodyPart(messageBodyPart);

//Associate multi-part with message

message.setContent(multipart);

Transport.send(message);

System.out.println("send ok!");

}

catch(Exception ex)

{

System.out.println("faild"+ex);

}

}

//该程序用来接受带有html信息的邮件

void jButton7_actionPerformed(ActionEvent e) {

try

{

Properties props = System.getProperties();

Authenticator auth = new Email_Autherticator();

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

props.put("mail.smtp.auth","true");

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

Store store = session.getStore("pop3");

store.connect(host,username,password);

//After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

Message message[] = folder.getMessages();

for (int i=0,n=message.length;i // for (int i=0,n=1;i {

String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();

String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();

System.out.println("From:"+out_from_person+" ");

System.out.println("Address:"+out_from_address+" ");

String out_subject = message[i].getSubject();

System.out.println("Subject:"+out_subject+" ");

//获取邮件的信息,并且对其每一部分进行操作

Part messagePart = message[i];

Object out_content = messagePart.getContent();

if (out_content instanceof Multipart)

{

messagePart = ((Multipart)out_content).getBodyPart(0);

System.out.println("[ Multipart Message ]");

}

String out_content_type = messagePart.getContentType();

System.out.println("CONTENT:"+out_content_type);

jEditorPane1.setText("");//将其显示在jEditorPanel上

jEditorPane1.setContentType("text/html");

jEditorPane1.setText((String)out_content);

jEditorPane1.setEditable(false);

/*

if (out_content_type.startsWith("text/plain") | | out_content_type.startsWith("text/html"))

{

InputStream ipstm = messagePart.getInputStream();

BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm));

String thisLine = bufreader.readLine();

while (thisLine != null)

{

System.out.println("thisLine: "+thisLine);

thisLine = bufreader.readLine();

}

}

*/

System.out.println("------------------------------------------------------------");

message[i].setFlag(Flags.Flag.DELETED,true);

}

folder.close(true);

store.close();

}

catch(Exception ej2)

{

System.out.println(ej2);

}

}

责任编辑:admin
相关文章