📄 email.java
字号:
package com.mail;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
public static void post(String server,String port,String user,String from,String recipient,String subject,String message)
throws MessagingException {
post(server,port,user,from, new String[]{recipient}, subject, message);
}
/**
* Sends a message to a list of recipients.
*/
public static void post(String server,String port,String user,String from,String[] recipients,String subject,String message)
throws MessagingException {
Properties props = new Properties();
props.put("mail.smtp.host", server);
if(port != null)
props.put("mail.smtp.port", port);
if(user != null)
props.put("mail.smtp.user", user);
Session session = Session.getDefaultInstance(props, null);
session.setDebug(false);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++) addressTo[i] = new InternetAddress(recipients[i]);
msg.setRecipients(Message.RecipientType.TO, addressTo);
msg.setSubject(subject, "UTF-8");
msg.setText(message, "UTF-8");
Transport.send(msg);
}
/**
* receive messages from user's inbox.
*/
public static Message[] receive(String popServer, String popUser, String popPassword){
Store store = null;
Folder folder = null;
Message[] msgs = null;
try{
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props,null);
store = session.getStore("pop3");
store.connect(popServer,popUser,popPassword);
folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
msgs = folder.getMessages();
for(int msgNum = 0;msgNum<msgs.length;msgNum++){
printMessage(msgs[msgNum]);
}
}
catch(Exception e1){
e1.printStackTrace();
}
finally{
try{
if(folder != null)
folder.close(false);
if (store!= null)
store.close();
}
catch(Exception e2){
e2.printStackTrace();
}
}
return msgs;
}
public static void printMessage(Message message){
try{
String from = ((InternetAddress)message.getFrom()[0]).getPersonal();
if(from == null)
from = ((InternetAddress)message.getFrom()[0]).getAddress();
System.out.println("From:"+from);
String subject = message.getSubject();
System.out.println("Subject:"+subject);
Part msgPart = message;
Object content = msgPart.getContent();
if(content instanceof Multipart)
{
System.out.println("[ Multipart Message ],total: "+((Multipart)content).getCount()+" parts");
for(int i=0;i<((Multipart)content).getCount();i++){
msgPart = ((Multipart)content).getBodyPart(i);
System.out.println("CONTENT:"+msgPart.getContentType());
}
}
String contentType = msgPart.getContentType();
if (contentType.startsWith("text/plain")||contentType.startsWith("text/html"))
{
InputStream is = msgPart.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
String thisLine=reader.readLine();
while (thisLine!=null)
{
System.out.println(thisLine);
thisLine=reader.readLine();
}
}
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
catch(Exception e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -