使用Java Mail 接收Gmail 邮件

Java Mail 是一个用于发送和接收电子邮件的Java API。它提供了发送邮件、接收邮件、附件处理等功能。本文将介绍如何使用Java Mail接收Gmail邮件。

准备工作

在开始之前,确保你已经安装了Java开发环境,并且拥有Gmail账号。接下来我们需要引入Java Mail API。

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.2</version>
</dependency>

创建连接

首先,我们需要创建一个Session对象来表示与邮件服务器的连接。我们需要提供Gmail的SMTP服务器地址、邮箱地址和授权码。

Properties props = new Properties();
props.put("mail.store.protocol", "imaps");
props.put("mail.imap.ssl.enable", "true");
props.put("mail.imap.host", "imap.gmail.com");
props.put("mail.imap.port", "993");

Session session = Session.getInstance(props, new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("your-email@gmail.com", "your-password");
    }
});

连接到收件箱

接下来,我们可以使用session对象连接到Gmail的收件箱。

Store store = session.getStore("imaps");
store.connect();

Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);

遍历邮件

现在我们已经连接到收件箱,可以遍历邮件并读取邮件内容。

Message[] messages = inbox.getMessages();

for (Message message : messages) {
    System.out.println("Subject: " + message.getSubject());
    System.out.println("From: " + message.getFrom()[0]);
    System.out.println("Date: " + message.getSentDate());
    System.out.println("Content: " + message.getContent().toString());
}

关闭连接

最后,不要忘记在使用完毮件后关闭连接。

inbox.close(false);
store.close();

关系图

erDiagram
    USER ||--o EMAIL : has
    EMAIL ||--o MESSAGE : contains

至此,我们已经学会了如何使用Java Mail接收Gmail邮件。希望本文对您有所帮助。如果您有任何问题或疑问,请随时联系我们。