WEB开发网
开发学院WEB开发Jsp 使用JavaMail实现收发电子邮件功能 阅读

使用JavaMail实现收发电子邮件功能

 2008-01-05 08:54:01 来源:WEB开发网   
核心提示: javaMail,顾名思义,使用JavaMail实现收发电子邮件功能,提供给开发者处理电子邮件相关的编程接口,我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序,然后可以调用Folder的getMessages()方法了,得到Message[],本文将介绍如何安装JavaMail,

   javaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。本文将介绍如何安装JavaMail,使用JavaMail发送和接受电子邮件。

   JavaMail是可选包,因此假如需要使用的话你需要首先从java.sun.com下载。目前最新版本是JavaMail1.3.2,使用JavaMail的时候需要Javabean Activation Framework的支持,因此你也需要下载JAF。安装JavaMail只是需要把他们加入到CLASSPATH中去,假如你不想修改CLASSPATH的话,可以直接把他们的jar包直接copy到JAVA_HOME/lib/ext下。这样JavaMail就安装好了。

   JavaMail包中用于处理电子邮件的核心类是:session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从PRoperties中读取类似于邮件服务器,用户名和密码等信息。创建的方法如下所示:

    Properties props = new Properties();
    // fill props with any information
Session session = Session.getDefaultInstance(props, null);
构建了Session后,我们就可以创建Message对象了,它需要和Session绑定。

   // Define message
     MimeMessage message = new MimeMessage(session);

Message中我们可以定义类似于邮件发送人,邮件接收者,邮件标题和邮件内容等。

   // Set the from address
     message.setFrom(new InternetAddress(from));

   // Set the to address
     message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

   // Set the subject
     message.setSubject("Hello JavaMail");

   // Set the content
     message.setText("Welcome to JavaMail");

构造了Message后,我们可以发送第一封邮件了,在JavaMail中提供了Transport类来发送邮件,只需要调用send方法。默认是使用SMTP协议发送邮件的。

   // Send message
     Transport.send(message);

Store和Folder类是我们在接收邮件的时候需要用到的,同样我们需要告诉Store接收邮件的时候使用什么协议比如POP3,然后我们需要连接到邮件服务器,通过调用Store的connect()方法。连接到Store后我们就可以得到Folder了,在接收Message前确保你已经打开了Folder,然后可以调用Folder的getMessages()方法了。得到Message[]。接收后不要忘记关闭Folder和Store。

   // Get the store
     Store store = session.getStore("pop3");
     // Connect to store
     store.connect(host, username, passWord);
     // Get folder
     Folder folder = store.getFolder("INBOX");
     // Open read-only
     folder.open(Folder.READ_ONLY);
     BufferedReader reader = new BufferedReader(new InputStreamReader(
         System.in));
     // Get Directory
     Message message[] = folder.getMessages();


Tags:使用 JavaMail 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接