用Java接收电子邮件

为了接收电子邮件, 将Store和Folder类与MimeMessage, Session和Transport类配合使用。
为了更好地理解此示例, 请首先学习使用JavaMail API发送电子邮件的步骤。
要使用JavaMail API发送电子邮件, 你需要加载两个jar文件:

  • mail.jar
  • activation.jar
下载这些jar文件
(或)访问Oracle网站以下载最新版本。
使用JavaMail API接收电子邮件的步骤
【用Java接收电子邮件】使用JavaMail API接收电子邮件有5个步骤。他们是:
  1. 获取会话对象
  2. 创建POP3存储对象并与弹出服务器连接
  3. 创建文件夹对象并打开它
  4. 从数组中的文件夹中检索消息并打印
  5. 关闭存储和文件夹对象
用Java接收电子邮件的示例
让我们看一下使用java mail api接收邮件的示例。
import java.io.IOException; import java.util.Properties; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.Session; import com.sun.mail.pop3.POP3Store; public class ReceiveMail{ public static void receiveEmail(String pop3Host, String storeType, String user, String password) { try { //1) get the session object Properties properties = new Properties(); properties.put("mail.pop3.host", pop3Host); Session emailSession = Session.getDefaultInstance(properties); //2) create the POP3 store object and connect with the pop server POP3Store emailStore = (POP3Store) emailSession.getStore(storeType); emailStore.connect(user, password); //3) create the folder object and open it Folder emailFolder = emailStore.getFolder("INBOX"); emailFolder.open(Folder.READ_ONLY); //4) retrieve the messages from the folder in an array and print it Message[] messages = emailFolder.getMessages(); for (int i = 0; i < messages.length; i++) { Message message = messages[i]; System.out.println("---------------------------------"); System.out.println("Email Number " + (i + 1)); System.out.println("Subject: " + message.getSubject()); System.out.println("From: " + message.getFrom()[0]); System.out.println("Text: " + message.getContent().toString()); }//5) close the store and folder objects emailFolder.close(false); emailStore.close(); } catch (NoSuchProviderException e) {e.printStackTrace(); } catch (MessagingException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace(); } } public static void main(String[] args) {String host = "mail.srcmini.com"; //change accordingly String mailStoreType = "pop3"; String username= "sonoojaiswal@srcmini.com"; String password= "xxxxx"; //change accordinglyreceiveEmail(host, mailStoreType, username, password); } }

如你在上面的示例中看到的, 需要对用户标识和密码进行身份验证。如该程序所示, 你可以轻松接收电子邮件, 但可以相应地更改用户名和密码。让我们看看如何通过简单的技术再次运行它:
加载jar文件 c:\> set classpath = mail.jar; activation.jar; 。;
编译源文件 c:\> javac ReceiveMail.java
由… … 运营 c:\> Java Receivemail

    推荐阅读