⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receive.java

📁 这个是一个基于javamail 的邮件接受和发送部分 虽GUI没有 但是功能的东西已经完毕 只为借鉴
💻 JAVA
字号:
package biz;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Date;
import java.util.Properties;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.InternetAddress;

public class Receive {

	public Receive(String userName) {

	}

	// receive mail Function
	/**
	 * 
	 * @param popServer
	 * 
	 * @param popUser
	 * 
	 * @param popPassword
	 * 
	 */

	public void receive(Mail receiveMail) {
		String popServer = receiveMail.getPopServer();
		String popUser = receiveMail.getPopUser();
		String popPassword = receiveMail.getPopPassword();
		Store store = null;
		Folder folder = null;
		try {
			Properties props = System.getProperties();
			Session session = Session.getDefaultInstance(props, null);
			store = session.getStore("pop3");
			store.connect(popServer, popUser, popPassword);
			folder = store.getDefaultFolder();
			if (folder == null)
				throw new Exception("No default folder");
			folder = folder.getFolder("INBOX");
			if (folder == null)
				throw new Exception("No POP3 INBOX");
			folder.open(Folder.READ_ONLY);
			Message[] msgs = folder.getMessages();
			for (int msgNum = 0; msgNum < msgs.length; msgNum++) {
				printMessage(popServer, msgs[msgNum]);
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		} finally {
			try {
				if (folder != null)
					folder.close(false);
				if (store != null)
					store.close();
			} catch (Exception ex2) {
				ex2.printStackTrace();
			}
		}
	}

	public void printMessage(String popServer, Message message) {
		// TODO Auto-generated method stub
		try {
			String from = ((InternetAddress) message.getFrom()[0])
					.getPersonal();
			if (from == null)
				from = ((InternetAddress) message.getFrom()[0]).getAddress();
			System.out.println("成功从" + popServer + "接收到邮件!");
			System.out.println(from + "<"
					+ String.valueOf(message.getFrom()[0]) + ">");
			String subject = message.getSubject();
			// this.subject.setText(subject);
			Part messagePart = message;
			Object content = messagePart.getContent();
			if (content instanceof Multipart) {
				messagePart = ((Multipart) content).getBodyPart(0);
			}
			String contentType = messagePart.getContentType();
			if (contentType.startsWith("text/plain")
					|| contentType.startsWith("text/html")) {
				// this.contentType.setText("文本");
				InputStream is = messagePart.getInputStream();
				BufferedReader reader = new BufferedReader(
						new InputStreamReader(is));
				String thisLine = reader.readLine();
				StringBuffer lineBuffer = new StringBuffer();
				while (thisLine != null) {
					System.out.println(thisLine);
					lineBuffer.append(thisLine + "\n");
					thisLine = reader.readLine();
				}
				System.out.println(lineBuffer.toString());
			}
			System.out.println(String.valueOf(new Date()));
		} catch (Exception ex) {
			ex.printStackTrace();
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -