java - 使用javamail API接收邮件

标签 java jsp email servlets jakarta-mail

我正在使用 javamail api 来配置接收器,但它抛出异常。我不知道如何解决它。我只是javamail的初学者。我实际上没有得到它到底想要我做什么。请任何人给我正确的解决方案。 我的代码是:

          package com.message;
          import javax.mail.*; 
          import java.util.*; 
          import java.io.*;
          public class Receiver 
          {
          public static void main(String[] args) 
          {
          Properties props = new Properties();
          String host = "pop3.gmail.com";    
          String username = "emailid";    
          String password = "pasword";    
          String provider = "pop3";
           try 
           {      
        // Connect to the POP3 server      
        Session session = Session.getInstance(props);      
        Store store = session.getStore(provider);      
        store.connect(host,username, password); 
        // Open the folder      
        Folder inbox = store.getFolder("INBOX");      
             if (inbox == null) 
             {        
            System.out.println("No INBOX");
            System.exit(1);      
             }      
                 inbox.open(Folder.READ_ONLY);
        // Get the messages from the server      
             Message[] messages = inbox.getMessages();      
                for (int i = 0; i < messages.length; i++) 
                {        
                System.out.println("Message"+(i+1));                      
                messages[i].writeTo(System.out);      
                }
               // Close the connection      
                    // but don't remove the messages from the server      
                inbox.close(false);      
                store.close();    
                     } 
                    catch (MessagingException ex) 
                    {      
              ex.printStackTrace();    
                    }  
                   catch(IOException ex)
                   {
               ex.printStackTrace();
                   }
                 }
                  }

异常(exception)情况是:

            javax.mail.MessagingException: Connect failed;
            nested exception is:
        java.net.UnknownHostException: pop3.gmail.com
        at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:160)
        at javax.mail.Service.connect(Service.java:291)
        at javax.mail.Service.connect(Service.java:172)
        at com.message.Receiver.main(Receiver.java:20)
            Caused by: java.net.UnknownHostException: pop3.gmail.com
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:367)
        at java.net.Socket.connect(Socket.java:524)
        at java.net.Socket.connect(Socket.java:474)
        at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:267)
        at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
        at com.sun.mail.pop3.Protocol.<init>(Protocol.java:91)
        at com.sun.mail.pop3.POP3Store.getPort(POP3Store.java:213)
        at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:156)
        ... 3 more

请大家解决这个问题。

最佳答案

尝试 pop.gmail.com,这显然是正确的地址。

关于java - 使用javamail API接收邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459021/

相关文章:

email - 我们如何获得 Outlook 收件人的实际电子邮件地址?

java - 获取以毫秒为单位的给定纪元时间的午夜纪元时间

java - Java 8 lambda 是否被编译为内部类、方法或其他东西?

java - 如何在jsp页面中访问javascript变量

java - 刷新简单验证码

linux - 暂停/禁用特定电子邮件帐户。 Linux whm cpanel

email - 使用 Cakephp 3 使用用户名或电子邮件登录

java - Spring 批处理错误 : No context holder available for step scope when using threadPoolExecutor in spring batch application

java - 为什么 Collections.unmodifiableMap 不检查传递的 map 是否已经是 UnmodifiableMap?

java - 无法使用 Eclipse Juno 编译 JSP 类