快速业务通道

深入探讨JavaMail API的使用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

深入探讨JavaMail API的使用

时间:2010-12-18 yesky 郑伟

在我以前发表的文章《使用JavaMail和Jsp结合编写简易电子邮件发送系统》 ,介绍了JavaMail与JSP结合使用的方法。其实,JavaMail API是一个相当大的 系统,单单那么一片小文是不能介绍完JavaMail的,因此我想以本文与大家深入 的探讨一下JavaMail的使用。

问题一、我如何发送一封简单的信件?

回答:我将在下面的例子中详细的讲解如何发送简单信件

import java.util.*; import java.io.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; public class SendSimpleMail { file://msgText是信件的正文,共有两行 static String msgText = "Dear Mr.FangZhou\nI’m a reader of your net!" file://从命令行中读入三个参数,分别为smtpHost,from,to public static void main(String args[]) throws Exception{ if (args.length != 3) { System.out.println("usage: java SendSimpleMail "); return; } String smtpHost=args[0];//SMTP服务器名 String from=args[1];//发信人地址 String to =args[2];//收信人地址 // 创建properties对象 Properties props = new Properties(); file://创建邮件服务器 props.put("mail.smtp.host", smtpHost); file://取得默认的Session Session session = Session.getDefaultInstance(props, null); // 创建一条信息,并定义发信人地址和收信人地址 MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); InternetAddress[] address = {new InternetAddress(to)}; message.setRecipients(Message.RecipientType.TO, address); message.setSubject("Hello,FangZhou");//设定主题 message.setSentDate(new Date());//设定发送时间 message.setText(msgText);//把前面定义的msgText中的文字设定为邮件正文的 内容 file://发送邮件 Transport.send(message); } }

问题二、如果我想在邮件中加上附件怎么办?

这也是一个相当好的问题,要加入附件的话就要使用MimeBodyPart来创建邮 件,只需把上面的程序稍加修改就可以了,为了简单起见,我在这里只是使用了 一条字符串作为附件内容来解释如何添加附件。

file://msgText是信件的正文,共有两行

static String msgText = "Dear Mr.FangZhou\nI’m a reader of your net!" file://msgAttachment是一段字符串作为附件 static String msgAttachment = "This is an attachment string!" . . . . . . . . . MimeBodyPart mbp1 = new MimeBodyPart(); mbp1.setText(msgText); file://把前面定义的msgText中的文字设定为邮件正 文的内容 file://创建附件部分 MimeBodyPart mbp2 = new MimeBodyPart(); file://使用setText(text, charset)来加入附件 mbp2.setText(msgAttachment, "gb2312"); file://创建Multipart Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); // 添加 Multipart到Message中 message.setContent(mp); file://发送邮件 Transport.send(message); }

深入探讨JavaMail API的使用(2)

时间:2010-12-18 yesky 郑伟

问题三、我怎样从邮件服务器中获取邮件列表

回答:其实实现这个问题的方法很简单

1. JavaMail客户端通过创建一个默认的会话(Session)对象来开始一个邮 件处理任务

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

2. 客户端使用Session对象的getStore方法来连接到默认到Store提供者。 GetStore方法返回一个 Store 对象子类,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号