Java Mail邮件接收工具类
什么是Java Mail邮件接收工具类
Java Mail邮件接收工具类是一个提供接收邮件功能的Java程序类库,可以使用它来编写接收邮件的Java应用程序,通过收取远程邮件服务器上的邮件内容以及邮件信息,实现个人或是企业邮箱的邮件收取功能。
Java Mail邮件接收基本使用流程
Java Mail邮件接收需要经过以下步骤:
1.创建Session对象
Session session = Session.getDefaultInstance(Props, authenticator),其中Props表示的是属性集,authenticator表示的是验证器。
2.获取Store对象,连接邮件服务器
Store store = session.getStore("协议");
store.connect("用户名", "密码");
3.打开Inbox邮件夹
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
4.解析邮件
Message[] messages = folder.getMessages();// 获取该文件夹中的所有邮件
if(messages!=null && messages.length>0){
for(Message message : messages){
System.out.println("邮件主题:" + message.getSubject());
System.out.println("发件人:" + message.getFrom()[0].toString());
System.out.println("收件人:" + message.getAllRecipients()[0].toString());
System.out.println("发送时间:" + message.getSentDate());
System.out.println("邮件优先级:" + message.getPriority());
System.out.println("是否需要回执:" + message.getHeader("Disposition-Notification-To"));
System.out.println("邮件大小:" + message.getSize());
System.out.println("邮件内容:" + (String)message.getContent());
}
}
5.关闭文件夹
folder.close(false);
6.关闭Store对象
store.close();
Java Mail邮件接收工具类示例
以下是两个使用Java Mail邮件接收工具类的示例。
示例一:读取Gmail邮件
String host = "imap.gmail.com";// 邮件服务器
String username = "xxxx@gmail.com";// 邮箱用户名
String password = "xxxx";// 邮箱密码
Properties props = new Properties();
props.put("mail.imap.host", host);
props.put("mail.imap.auth", "true");
props.put("mail.imap.port", "993");// google imap端口
props.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
props.setProperty("mail.imap.socketFactory.port", "993");
Session session = Session.getInstance(props);
try {
Store store = session.getStore("imap");
store.connect(username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
if (messages != null) {
for (Message message : messages) {
System.out.println("主题: " + message.getSubject());
System.out.println("发件人: " + message.getFrom()[0]);
System.out.println("接收时间: " + message.getReceivedDate());
System.out.println("内容类型: " + message.getContentType());
System.out.println("内容: " + message.getContent());
System.out.println();
}
}
folder.close(false);
store.close();
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
示例二:读取Outlook邮件
String host = "imap-mail.outlook.com"; // 邮件服务器
String username = "xxxxx@hotmail.com"; // 邮箱用户名
String password = "xxxxx"; // 邮箱密码
Properties props = new Properties();
props.put("mail.imap.host", host);
props.put("mail.imap.auth", "true");
props.put("mail.imap.port", "993"); // outlook imap端口
props.put("mail.imap.starttls.enable", "true");
Session session = Session.getInstance(props);
try {
Store store = session.getStore("imap");
store.connect(username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] messages = folder.getMessages();
if (messages != null) {
for (Message message : messages) {
System.out.println("主题: " + message.getSubject());
System.out.println("发件人: " + message.getFrom()[0]);
System.out.println("接收时间: " + message.getReceivedDate());
System.out.println("内容类型: " + message.getContentType());
System.out.println("内容: " + message.getContent());
System.out.println();
}
}
folder.close(false);
store.close();
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
以上就是使用Java Mail邮件接收工具类的基本流程和示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java Mail邮件接收工具类 - Python技术站