📄 recivemail.java
字号:
package net.meybo.mail.client;
import java.io.FileOutputStream;
import java.io.OutputStream;
import javax.mail.*;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import com.easyjf.util.CommUtil;
public class ReciveMail implements Runnable {
private String userName;
private String password;
private String pop3Server;
private String localDir;
private boolean keepCopy;
public ReciveMail(String userName,String password,String pop3Server,String localDir)
{
this(userName,password,pop3Server,localDir,false);
}
public ReciveMail(String userName,String password,String pop3Server,String localDir,boolean keepCopy)
{
this.userName=userName;
this.password=password;
this.pop3Server=pop3Server;
this.localDir=localDir;
this.keepCopy=keepCopy;
}
public void run() {
if(!userName.equals("") && !pop3Server.equals("") && !localDir.equals(""))
{
recive();
}
System.out.println("邮件接收完成!");
}
public void recive()
{
Session mailsession = Session.getInstance(System.getProperties(),null);
mailsession.setDebug(false);
try{
Store store = mailsession.getStore("pop3"); // protocol为连接协议,IMAP或是POP
store.connect(pop3Server,userName,password);
Folder folder = store.getFolder("INBOX");
try {
folder.open(keepCopy?Folder.READ_ONLY:Folder.READ_WRITE);
} catch (MessagingException ex) {
System.out.println("接收邮件发生错误!");
}
Message message[] = folder.getMessages();
for (int j = 0; j <message.length; j++) {
OutputStream out=new FileOutputStream(localDir+"/"+CommUtil.getOnlyID()+".eml");
//System.out.println(((MimeMessage)message[j]).getSubject());
//System.out.println(((MimeMessage)message[j]).getSentDate());
message[j].writeTo(out);
//folder.delete()
out.close();
if(!keepCopy)message[j].setFlag(Flags.Flag.DELETED,true);
}
folder.close(keepCopy?false:true);
store.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
/**
* @param args
*/
public static void main(String[] args) {
Session mailsession = Session.getInstance(System.getProperties(),null);
mailsession.setDebug(true);
try{
MultiPartEmail email=null;
email=new HtmlEmail();
email.setDebug(true);
email.setHostName("smtp.21cn.com");
email.setAuthentication("caishiyou@21cn.com","csy8315");
email.setSubject("test");
email.setCharset("gbk");
email.setFrom("caishiyou@21cn.com");
email.addTo("easyjf@163.com");
email.setMsg("邮件测试");
email.send();
//InputStream in=new FileInputStream("D:\\mail\\5.eml");
//MultiPartEmail email=new MultiPartEmail();
//email.buildMimeMessage();
//MimeMessage mail=new MimeMessage(mailsession,in);
//ParseMimeMessage email=new ParseMimeMessage(mail);
//MimeUtility.decode()
//String content=(String)mail.getContent();
//System.out.println(new String(content.getBytes("iso8859-1"),"gbk"));
}
catch(Exception e)
{
System.out.println(e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -