【问题标题】:How to get gmail mails programmatically in android如何在android中以编程方式获取gmail邮件
【发布时间】:2015-03-19 17:24:48
【问题描述】:

我想将 gmail、hotmail、rediffmail 等不同邮件服务的所有收件箱邮件放入我的应用程序。最初我尝试使用 Imap 获取 gmail 邮件。但我得到一个套接字异常。这是我尝试过的代码。请帮帮我。

public void getMails(View V){
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imap.port", "993");

props.setProperty("mail.imap.socketFactory.class", .ssl.SSLSocketFactory");
props.setProperty("mail.imap.socketFactory.fallback", "false");
    try {
      Session session = Session.getDefaultInstance(props, null);
      Store store = session.getStore("imaps");
      store.connect("imap.gmail.com", "aravelliramesh35@gmail.com", "pswd");
    }
  //}catch (NoSuchProviderException e) {
  //   e.printStackTrace();
  //   System.exit(1);
  //} 
    catch (MessagingException e) {
        e.printStackTrace();
        System.exit(2);
    }
}

【问题讨论】:

    标签: android


    【解决方案1】:

    试试这个...

     Properties props = new Properties();
        //IMAPS protocol
        props.setProperty(“mail.store.protocol”, “imaps”);
        //Set host address
        props.setProperty(“mail.imaps.host”, imaps.gmail.com);
        //Set specified port
        props.setProperty(“mail.imaps.port”, “993″);
        //Using SSL
        props.setProperty(“mail.imaps.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”);
        props.setProperty(“mail.imaps.socketFactory.fallback”, “false”);
        //Setting IMAP session
        Session imapSession = Session.getInstance(props);
    
    Store store = imapSession.getStore(“imaps”);
    //Connect to server by sending username and password.
    //Example mailServer = imap.gmail.com, username = abc, password = abc
    store.connect(mailServer, account.username, account.password);
    //Get all mails in Inbox Forlder
    inbox = store.getFolder(“Inbox”);
    inbox.open(Folder.READ_ONLY);
    //Return result to array of message
    Message[] result = inbox.getMessages();
    

    【讨论】:

    • 如果我的回答可以帮助您解决您的问题..然后将其标记为答案,以便其他人可以参考...
    • @Lucky Boy 我尝试实现它.. 下载了 4 个 java 文件,但它包含错误?我错过了任何 jar 文件吗?EmailMessenger.jav 中出现错误
    • 我总是收到套接字超时。为什么会这样?
    • @LuckyBoy 下载了源代码,但我收到连接被拒绝异常。我通过代理网络连接
    • 需要下载 javax.mail 库 ir 命令才能使用上面给出的代码。您可以通过将 compile 'javax.mail:mail:1.4.7' 添加到 gradle 中的依赖项来完成此操作。希望这会有所帮助
    猜你喜欢
    • 2016-04-06
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 2017-07-17
    • 2014-11-08
    相关资源
    最近更新 更多