JavaMail获取邮件内容

这是好久之前写的文章了,今天改了改,跟大家分享一下。

 此图上的内容都可以解析到你指定的地方。

import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
public class ParserMail {
 /**
  * 获取邮件内容
  * @param args
  * @throws Exception 
  */
 private static String host="pop3.163.com";
 
 
 public static void main(String[] args) throws Exception {
  Properties props=new Properties();
  //设置邮件接收协议为pop3
  props.setProperty("mail.store.protoc
JavaMailJava平台上用于发送和接收电子邮件的API。要获取邮件的ID,可以使用JavaMail提供的IMAP协议。 以下是使用JavaMail获取邮件ID的步骤: 1. 创建一个Session对象,用于与邮件服务器进行通信。可以使用Session.getDefaultInstance()方法来获取默认的会话实例。 2. 创建一个Store对象,用于连接到邮件服务器。可以使用Session.getStore()方法来获取Store对象,并指定协议(如IMAP)和邮件服务器的主机名和端口号。 3. 连接到邮件服务器。可以使用Store.connect()方法来连接到邮件服务器,并提供用户名和密码进行身份验证。 4. 打开邮件文件夹。可以使用Store.getFolder()方法来获取邮件文件夹对象,并指定文件夹的名称(如"Inbox")。 5. 打开邮件文件夹。可以使用Folder.open()方法来打开邮件文件夹。 6. 获取邮件列表。可以使用Folder.getMessages()方法来获取邮件列表,返回一个Message数组。 7. 遍历邮件列表,获取每封邮件的ID。可以使用Message.getMessageNumber()方法来获取邮件的序号,使用Message.getHeader()方法来获取邮件的头信息,其中包含了邮件的ID。 8. 关闭邮件文件夹和连接。可以使用Folder.close()方法来关闭邮件文件夹,使用Store.close()方法来关闭连接。 下面是一个简单的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class MailIDExample { public static void main(String[] args) { String host = "your-mail-server"; String username = "your-username"; String password = "your-password"; Properties props = new Properties(); props.setProperty("mail.store.protocol", "imaps"); try { Session session = Session.getDefaultInstance(props, null); Store store = session.getStore(); store.connect(host, username, password); Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); Message[] messages = folder.getMessages(); for (int i = 0; i < messages.length; i++) { Message message = messages[i]; int messageNumber = message.getMessageNumber(); String messageId = message.getHeader("Message-ID")[0]; System.out.println("Message " + messageNumber + " ID: " + messageId); } folder.close(false); store.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,上述示例代码中的"your-mail-server"、"your-username"和"your-password"需要替换为实际的邮件服务器、用户名和密码。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值