📄 receive.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 + -