我可以从Gmail IMAP收到邮件吗?

时间:2015-10-31 12:41:51

标签: gmail gmail-api gmail-imap

我希望使用Java和IMAP通过gmail帐户阅读所有邮件。 我可以这样做,还是现在我需要使用OAuth和Gmail API? 这是我的Java简单代码:

import java.util.*;
import javax.mail.*;

public class ReadingEmail {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.setProperty("mail.store.protocol", "imaps");
        try {
            Session session = Session.getInstance(props, null);
            session.setDebug(true);
            Store store = session.getStore("imaps");
            store.connect("imap.gmail.com", "email", "pass");
            Folder inbox = store.getFolder("INBOX");
            inbox.open(Folder.READ_ONLY);
            Message msg = inbox.getMessage(inbox.getMessageCount());
            Address[] in = msg.getFrom();
            for (Address address : in) {
                System.out.println("FROM:" + address.toString());
            }
            Multipart mp = (Multipart) msg.getContent();
            BodyPart bp = mp.getBodyPart(0);
            System.out.println("SENT DATE:" + msg.getSentDate());
            System.out.println("SUBJECT:" + msg.getSubject());
            System.out.println("CONTENT:" + bp.getContent());
        } catch (Exception mex) {
            mex.printStackTrace();
        }
    }
}

但我有一个错误:

  

我的客户不接受我的用户名和密码

在Gmail帐户设置中启用了IMAP。怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

当然,你可以,这是IMAP的重点。但是,您需要使用OAuth2或应用专用密码进行身份验证(您的帐户密码不起作用)。