package com.util.mail;
import java.io.UnsupportedEncodingException;
import java.security.*;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeUtility;
/**
* 用于收取Gmail邮件
*
* @author Winter Lau
*/
public class GmailFetch {
public static void main(String argv[]) throws Exception {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3.socketFactory.fallback", "false");
props.setProperty("mail.pop3.port", "995");
props.setProperty("mail.pop3.socketFactory.port", "995");
// 以下步骤跟一般的JavaMail操作相同
Session session = Session.getDefaultInstance(props, null);
// 请将红色部分对应替换成你的邮箱帐号和密码
URLName urln = new URLName("pop3", "pop.gmail.com", 995, null,
"xxx@gmail.com", "***");
Store store = session.getStore(urln);
Folder inbox = null;
store.connect();
inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
FetchProfile profile = new FetchProfile();
profile.add(FetchProfile.Item.ENVELOPE);
Message[] messages = inbox.getMessages();
inbox.fetch(messages, profile);
System.out.println("收件箱的邮件数:" + messages.length);
for (int i = 0; i < messages.length; i++) {
// 邮件发送者
String from = decodeText(messages[i].getFrom()[0].toString());
InternetAddress ia = new InternetAddress(from);
System.out.println("FROM:" + ia.getPersonal() + '('
+ ia.getAddress() + ')');
// 邮件标题
System.out.println("TITLE:" + messages[i].getSubject());
// 邮件大小
System.out.println("SIZE:" + messages[i].getSize());
// 邮件发送时间
System.out.println("DATE:" + messages[i].getSentDate());
System.out.println("------++++++++------");
}
inbox.close(false);
store.close();
}
protected static String decodeText(String text)
throws UnsupportedEncodingException {
if (text == null)
return null;
if (text.startsWith("=?GB") || text.startsWith("=?gb"))
text = MimeUtility.decodeText(text);
else
text = new String(text.getBytes("ISO8859_1"));
return text;
}
}
package com.util.mail;
import java.io.UnsupportedEncodingException;
import java.security.*;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeUtility;
/**
* 用于收取163邮件
*
* @author Winter Lau
*/
public class Fetch163 {
public static void main(String argv[]) throws Exception {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3.socketFactory.fallback", "false");
props.setProperty("mail.pop3.port", "995");
props.setProperty("mail.pop3.socketFactory.port", "110");
// 以下步骤跟一般的JavaMail操作相同
Session session = Session.getDefaultInstance(props, null);
// 请将红色部分对应替换成你的邮箱帐号和密码
URLName urln = new URLName("pop3", "pop.163.com", 110, null,
"xxx@163.com", "***");
Store store = session.getStore(urln);
Folder inbox = null;
store.connect();
inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
FetchProfile profile = new FetchProfile();
profile.add(FetchProfile.Item.ENVELOPE);
Message[] messages = inbox.getMessages();
inbox.fetch(messages, profile);
System.out.println("收件箱的邮件数:" + messages.length);
for (int i = 0; i < messages.length; i++) {
// 邮件发送者
String from = decodeText(messages[i].getFrom()[0].toString());
InternetAddress ia = new InternetAddress(from);
System.out.println("FROM:" + ia.getPersonal() + '('
+ ia.getAddress() + ')');
// 邮件标题
System.out.println("TITLE:" + messages[i].getSubject());
// 邮件大小
System.out.println("SIZE:" + messages[i].getSize());
// 邮件发送时间
System.out.println("DATE:" + messages[i].getSentDate());
System.out.println("------++++++++------");
}
inbox.close(false);
store.close();
}
protected static String decodeText(String text)
throws UnsupportedEncodingException {
if (text == null)
return null;
if (text.startsWith("=?GB") || text.startsWith("=?gb"))
text = MimeUtility.decodeText(text);
else
text = new String(text.getBytes("ISO8859_1"),"GBK");
return text;
}
}
package com.util.mail;
import java.security.Security;
import java.util.Properties;
import javax.mail.FetchProfile;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.UIDFolder;
import javax.mail.URLName;
import javax.mail.internet.MimeMessage;
import com.sun.mail.pop3.POP3Folder;
/**
* UID速度要比messageID快好多倍,messageID下载的时候需要解析header里面头文件,所以费时
* UID接收邮件
*/
public class ReceiveMail {
public static void main(String[] args) throws Exception {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
String host = "pop.gmail.com";
String username = "xxx@gmail.com";
String password = "***";
Properties props = new Properties();
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3.socketFactory.fallback", "false");
props.setProperty("mail.pop3.port", "995");
props.setProperty("mail.pop3.socketFactory.port", "995");
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3");
store.connect(host, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
FetchProfile profile = new FetchProfile();
profile.add(UIDFolder.FetchProfileItem.UID);
profile.add(FetchProfile.Item.ENVELOPE);
if (folder instanceof POP3Folder) {
POP3Folder inbox = (POP3Folder) folder;
Message message[] = inbox.getMessages();
System.out.println("Messages's length: " + message.length);
for (int i = 0; i < message.length; i++) {
MimeMessage mimeMessage = (MimeMessage) message[i];
String uid = inbox.getUID(mimeMessage);
System.out.println("uid=" + uid);
int UnreadMessageCount = inbox.getUnreadMessageCount();
System.out.println("UnreadMessageCount=" + UnreadMessageCount);
int NewMessageCount = inbox.getNewMessageCount();
System.out.println("NewMessageCount=" + NewMessageCount);
URLName urlName = inbox.getURLName();
System.out.println("urlName=" + urlName);
}
}
}
}
package com.util.mail;
import java.security.Security;
import java.util.Properties;
import javax.mail.FetchProfile;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.UIDFolder;
import javax.mail.URLName;
import javax.mail.internet.MimeMessage;
import com.sun.mail.pop3.POP3Folder;
/**
* UID速度要比messageID快好多倍,messageID下载的时候需要解析header里面头文件,所以费时
* UID接收邮件
*/
public class ReceiveMail {
public static void main(String[] args) throws Exception {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
String host = "pop.gmail.com";
String username = "xxx@gmail.com";
String password = "***";
Properties props = new Properties();
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3.socketFactory.fallback", "false");
props.setProperty("mail.pop3.port", "995");
props.setProperty("mail.pop3.socketFactory.port", "995");
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3");
store.connect(host, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
FetchProfile profile = new FetchProfile();
profile.add(UIDFolder.FetchProfileItem.UID);
profile.add(FetchProfile.Item.ENVELOPE);
if (folder instanceof POP3Folder) {
POP3Folder inbox = (POP3Folder) folder;
Message message[] = inbox.getMessages();
System.out.println("Messages's length: " + message.length);
for (int i = 0; i < message.length; i++) {
MimeMessage mimeMessage = (MimeMessage) message[i];
String uid = inbox.getUID(mimeMessage);
System.out.println("uid=" + uid);
int UnreadMessageCount = inbox.getUnreadMessageCount();
System.out.println("UnreadMessageCount=" + UnreadMessageCount);
int NewMessageCount = inbox.getNewMessageCount();
System.out.println("NewMessageCount=" + NewMessageCount);
URLName urlName = inbox.getURLName();
System.out.println("urlName=" + urlName);
}
}
}
}
分享到:
相关推荐
javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码 查看debug 邮件处理过程发现邮件头没有编译, 内容是base64编码,所以邮箱收不到或者收到的是base64编码后的一堆乱码,
接收邮件,可删除邮件 发送邮件 * 功能齐全,可抄送,密送;可带附件 * 你需要修改:你发件用的邮箱需要开启SMTP服务,这个邮箱的用户名就是:SMTP认证用-登录用户名, * 这个邮箱的密码就是:SMTP认证用-登录...
本段程序实现java通过exchange协议发送和接收邮件功能。实现了发送邮件、接收未读邮件和已读邮件的功能。采用微软官方提供的EWSJavaAPI_1.2.jar包完成此项功能。
java mail 收发邮件Demo源码,可以发送和接收附件,在接收邮件时解决了乱码问题
邮件接收模块则负责接收邮件,并将邮件内容以列表的方式展示出来,方便用户查看。 系统的设计采用了Javamail技术,该技术提供了一套用于发送、接收电子邮件的API,可以方便地实现邮件的发送和接收。同时,系统还...
java定时收取邮件:1.邮件可配置,2.记录了详细日记,3.记录下载过得文件,避免重新下载,4:支撑二次开发,预留了接口,有点小bug就是定时不能太频繁,建议以小时为单位
主要介绍了java Mail邮件接收工具类,本文直接给出类实现代码和使用示例,需要的朋友可以参考下
接收邮件: 系统可以接收用户的邮件,包括查看新邮件和已读邮件。 邮件管理: 用户可以管理收件箱、发件箱、已发送邮件等邮件信息。 附件支持: 支持发送和接收带有附件的邮件。 实现细节: 邮件协议: 使用Java ...
基于Java-Mail的电子邮件收发系统毕业设计
java实现的邮件收发系统,用swing开发了界面
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
标签:mail、sun、jakarta、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
使用mail.jar包进行发送邮件支持多接收人,多附件,但是附件不可过大。
java邮件收发系统源码 java邮件收发系统源码
Java邮件开发介绍 课程目标 为什么要学习和如何学习邮件开发 电子邮件的一些基本常识 准备实验环境 SMTP协议与POP3协议 什么是Java Mail 编写邮件发送程序 邮件内容的组织结构与邮件内容创建...邮件接收程序的简要介绍
带示例的邮件,有发送 接收 详细 回复 附件,功能非常全面使用方便,,绝对好用`
用java写的邮件收发系统,实现了基本的功能,还是可以用的
javamail所需要的两个jar包。mail.jar,activation.jar 博文链接:https://javeye.iteye.com/blog/153827
传智播客张孝祥java邮件开发_Java邮件开发源代码,详细介绍了发送和接收邮件的各种方法,需要的请下载!
java自动发邮件不错哦,美女程序猿web.xml文件 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <servlet-name>...