Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法访问所有';gmail&x27;在java中使用pop3的消息_Java_Email - Fatal编程技术网

无法访问所有';gmail&x27;在java中使用pop3的消息

无法访问所有';gmail&x27;在java中使用pop3的消息,java,email,Java,Email,我的java邮件接收程序 我在java程序中使用mail.1.4.jar和激活jar 使用JavaMail API接收电子邮件需要遵循5个步骤。 他们是: 获取会话对象 创建POP3存储对象并连接pop服务器 创建文件夹对象并将其打开 从数组中的文件夹中检索邮件并将其打印 关闭存储和文件夹对象 这是我的密码: public class receive_Email { public static void main(String[] args) { String ho

我的java邮件接收程序 我在java程序中使用mail.1.4.jar激活jar

使用JavaMail API接收电子邮件需要遵循5个步骤。 他们是:
获取会话对象
创建POP3存储对象并连接pop服务器
创建文件夹对象并将其打开
从数组中的文件夹中检索邮件并将其打印
关闭存储和文件夹对象

这是我的密码:

public class receive_Email {

    public static void main(String[] args) {
        String host="pop.gmail.com";
        String mailStorType="pop3";
        String Username="***********@gmail.com";
        String Password="*******";

        receiveMail(host, mailStorType, Username, Password);
    }

    // method for Receive email.....!
    public static void receiveMail(String pop3Host,String sotreType,String user,String password){

        ///   1) get session object

        Properties props=new Properties();
            props.put("mail.pop3.host", pop3Host );
        Session sessEmail=Session.getDefaultInstance(props);

        // 2) create pop3 store object and connect with pop server
        try {
            POP3Store emailStore=(POP3Store)sessEmail.getStore(sotreType);
            emailStore.connect(user,password);

        // 3) create Folder object and open it
            Folder emailFolder=emailStore.getFolder("INBOX");
            emailFolder.open(Folder.READ_ONLY);

        //  4) Retrieve the messages in the folder and display it   
            Message[] messages=emailFolder.getMessages();
            int i=0;
            for(Message m : messages){
                System.out.println("------------------------------------------------");
                System.out.println("Email Number : "+m.getMessageNumber());
                System.out.println("Subject : "+m.getSubject());
                System.out.println("From : "+m.getFrom());
                try {
                    System.out.println("Subject : "+m.getContent().toString());
                } catch (IOException e) {
                    System.out.println("No messages are available.............!");
                        e.printStackTrace();
                }

            } // end for loop 

            // 5) Close the Folder and email store
            emailFolder.close(false);
            emailStore.close();

        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }

    }
}
我得到的例外是:

javax.mail.MessagingException: Connect failed;
  nested exception is:
    java.net.ConnectException: Connection timed out: connect
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:148)
    at javax.mail.Service.connect(Service.java:275)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:176)
    at com.mwh.DBConnect.receive_Email.receiveMail(receive_Email.java:37)
    at com.mwh.DBConnect.receive_Email.main(receive_Email.java:22)
    Caused by: java.net.ConnectException: Connection timed out: connect
.....
..

任何关于消除此异常的建议。。。提前谢谢

我很确定GMail只接受SSL连接。请尝试以下代码:

import com.sun.mail.pop3.POP3Store;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import java.io.IOException;
import java.util.Properties;

public class receive_Email {

  public static void main(String[] args) {
    String host="pop.gmail.com";
    int port=995;
    String mailStorType="pop3";
    String Username="***********@gmail.com";
    String Password="*******";

    receiveMail(host, port, mailStorType, Username, Password);
  }

  // method for Receive email.....!
  public static void receiveMail(String pop3Host, int port, String sotreType,String user,String password){

    ///   1) get session object

    Properties props = new Properties();
    props.put("mail.pop3.ssl.enable", "true"); // Use SSL
    Session sessEmail = Session.getInstance(props);

    // 2) create pop3 store object and connect with pop server
    try {
      POP3Store emailStore = (POP3Store) sessEmail.getStore(sotreType);
      emailStore.connect(pop3Host, port, user, password);

      // 3) create Folder object and open it
      Folder emailFolder=emailStore.getFolder("INBOX");
      emailFolder.open(Folder.READ_ONLY);

      //  4) Retrieve the messages in the folder and display it   
      Message[] messages=emailFolder.getMessages();

      for(Message m : messages){
        System.out.println("------------------------------------------------");
        System.out.println("Email Number : "+m.getMessageNumber());
        System.out.println("Subject : "+m.getSubject());
        System.out.println("From : "+m.getFrom());
        try {
          System.out.println("Subject : "+m.getContent().toString());
        } catch (IOException e) {
          System.out.println("No messages are available.............!");
          e.printStackTrace();
        }

      } // end for loop 

      // 5) Close the Folder and email store
      emailFolder.close(false);
      emailStore.close();

    } catch (NoSuchProviderException e) {
      e.printStackTrace();
    } catch (MessagingException e) {
      e.printStackTrace();
    }

  }
}

我很确定GMail只接受SSL连接。请尝试以下代码:

import com.sun.mail.pop3.POP3Store;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import java.io.IOException;
import java.util.Properties;

public class receive_Email {

  public static void main(String[] args) {
    String host="pop.gmail.com";
    int port=995;
    String mailStorType="pop3";
    String Username="***********@gmail.com";
    String Password="*******";

    receiveMail(host, port, mailStorType, Username, Password);
  }

  // method for Receive email.....!
  public static void receiveMail(String pop3Host, int port, String sotreType,String user,String password){

    ///   1) get session object

    Properties props = new Properties();
    props.put("mail.pop3.ssl.enable", "true"); // Use SSL
    Session sessEmail = Session.getInstance(props);

    // 2) create pop3 store object and connect with pop server
    try {
      POP3Store emailStore = (POP3Store) sessEmail.getStore(sotreType);
      emailStore.connect(pop3Host, port, user, password);

      // 3) create Folder object and open it
      Folder emailFolder=emailStore.getFolder("INBOX");
      emailFolder.open(Folder.READ_ONLY);

      //  4) Retrieve the messages in the folder and display it   
      Message[] messages=emailFolder.getMessages();

      for(Message m : messages){
        System.out.println("------------------------------------------------");
        System.out.println("Email Number : "+m.getMessageNumber());
        System.out.println("Subject : "+m.getSubject());
        System.out.println("From : "+m.getFrom());
        try {
          System.out.println("Subject : "+m.getContent().toString());
        } catch (IOException e) {
          System.out.println("No messages are available.............!");
          e.printStackTrace();
        }

      } // end for loop 

      // 5) Close the Folder and email store
      emailFolder.close(false);
      emailStore.close();

    } catch (NoSuchProviderException e) {
      e.printStackTrace();
    } catch (MessagingException e) {
      e.printStackTrace();
    }

  }
}

我很确定GMail只接受SSL连接。请尝试以下代码:

import com.sun.mail.pop3.POP3Store;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import java.io.IOException;
import java.util.Properties;

public class receive_Email {

  public static void main(String[] args) {
    String host="pop.gmail.com";
    int port=995;
    String mailStorType="pop3";
    String Username="***********@gmail.com";
    String Password="*******";

    receiveMail(host, port, mailStorType, Username, Password);
  }

  // method for Receive email.....!
  public static void receiveMail(String pop3Host, int port, String sotreType,String user,String password){

    ///   1) get session object

    Properties props = new Properties();
    props.put("mail.pop3.ssl.enable", "true"); // Use SSL
    Session sessEmail = Session.getInstance(props);

    // 2) create pop3 store object and connect with pop server
    try {
      POP3Store emailStore = (POP3Store) sessEmail.getStore(sotreType);
      emailStore.connect(pop3Host, port, user, password);

      // 3) create Folder object and open it
      Folder emailFolder=emailStore.getFolder("INBOX");
      emailFolder.open(Folder.READ_ONLY);

      //  4) Retrieve the messages in the folder and display it   
      Message[] messages=emailFolder.getMessages();

      for(Message m : messages){
        System.out.println("------------------------------------------------");
        System.out.println("Email Number : "+m.getMessageNumber());
        System.out.println("Subject : "+m.getSubject());
        System.out.println("From : "+m.getFrom());
        try {
          System.out.println("Subject : "+m.getContent().toString());
        } catch (IOException e) {
          System.out.println("No messages are available.............!");
          e.printStackTrace();
        }

      } // end for loop 

      // 5) Close the Folder and email store
      emailFolder.close(false);
      emailStore.close();

    } catch (NoSuchProviderException e) {
      e.printStackTrace();
    } catch (MessagingException e) {
      e.printStackTrace();
    }

  }
}

我很确定GMail只接受SSL连接。请尝试以下代码:

import com.sun.mail.pop3.POP3Store;

import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import java.io.IOException;
import java.util.Properties;

public class receive_Email {

  public static void main(String[] args) {
    String host="pop.gmail.com";
    int port=995;
    String mailStorType="pop3";
    String Username="***********@gmail.com";
    String Password="*******";

    receiveMail(host, port, mailStorType, Username, Password);
  }

  // method for Receive email.....!
  public static void receiveMail(String pop3Host, int port, String sotreType,String user,String password){

    ///   1) get session object

    Properties props = new Properties();
    props.put("mail.pop3.ssl.enable", "true"); // Use SSL
    Session sessEmail = Session.getInstance(props);

    // 2) create pop3 store object and connect with pop server
    try {
      POP3Store emailStore = (POP3Store) sessEmail.getStore(sotreType);
      emailStore.connect(pop3Host, port, user, password);

      // 3) create Folder object and open it
      Folder emailFolder=emailStore.getFolder("INBOX");
      emailFolder.open(Folder.READ_ONLY);

      //  4) Retrieve the messages in the folder and display it   
      Message[] messages=emailFolder.getMessages();

      for(Message m : messages){
        System.out.println("------------------------------------------------");
        System.out.println("Email Number : "+m.getMessageNumber());
        System.out.println("Subject : "+m.getSubject());
        System.out.println("From : "+m.getFrom());
        try {
          System.out.println("Subject : "+m.getContent().toString());
        } catch (IOException e) {
          System.out.println("No messages are available.............!");
          e.printStackTrace();
        }

      } // end for loop 

      // 5) Close the Folder and email store
      emailFolder.close(false);
      emailStore.close();

    } catch (NoSuchProviderException e) {
      e.printStackTrace();
    } catch (MessagingException e) {
      e.printStackTrace();
    }

  }
}

我得到了我需要的答案,谢谢用户1232141,谢谢你的友好回复。。 我从这个参考中得到了解决方案stactoverflow:
以下是对我有用的代码:

publicstaticvoidreceiveemail(字符串pop3Host、字符串storeType、最终字符串用户、最终字符串密码){
试试{
//1) 获取会话对象
Properties props=新属性();
props.put(“mail.pop3.host”、“pop.gmail.com”);
props.put(“mail.pop3.ssl.enable”,“true”);//使用ssl
props.put(“mail.pop3.user”,user);
props.put(“mail.pop3.socketFactory”,995);
put(“mail.pop3.socketFactory.class”,“javax.net.ssl.SSLSocketFactory”);
props.put(“mail.pop3.port”,995);
Session Session=Session.getDefaultInstance(props,new Authenticator(){
@凌驾
受保护的密码身份验证getPasswordAuthentication(){
返回新的PasswordAuthentication(用户、密码);
}
});  
//2) 创建POP3存储对象并连接pop服务器
Store emailStore=(Store)session.getStore(storeType);
emailStore.connect(“pop.gmail.com”,995,用户,密码);
//3) 创建文件夹对象并将其打开
文件夹emailFolder=emailStore.getFolder(“收件箱”);
emailFolder.open(文件夹只读);
//4) 从数组中的文件夹中检索邮件并打印
Message[]messages=emailFolder.getMessages();
对于(inti=0;i
正如您所见,我编辑了提供的方法receiveEmail(..{..},并得到了答案,

感谢srackoverflow用户@wael您的问题帮助我找到了所需的解决方案。。。谢谢大家…

我得到了我所需要的答案,谢谢用户1232141对你们的友好回复。。 我从这个参考中得到了解决方案stactoverflow:
以下是对我有用的代码:

publicstaticvoidreceiveemail(字符串pop3Host、字符串storeType、最终字符串用户、最终字符串密码){
试试{
//1) 获取会话对象
Properties props=新属性();
props.put(“mail.pop3.host”、“pop.gmail.com”);
props.put(“mail.pop3.ssl.enable”,“true”);//使用ssl
props.put(“mail.pop3.user”,user);
props.put(“mail.pop3.socketFactory”,995);
put(“mail.pop3.socketFactory.class”,“javax.net.ssl.SSLSocketFactory”);
props.put(“mail.pop3.port”,995);
Session Session=Session.getDefaultInstance(props,new Authenticator(){
@凌驾
受保护的密码身份验证getPasswordAuthentication(){
返回新的PasswordAuthentication(用户、密码);
}
});  
//2) 创建POP3存储对象并连接pop服务器
Store emailStore=(Store)session.getStore(storeType);
emailStore.connect(“pop.gmail.com”,995,用户,密码);
//3) 创建文件夹对象并将其打开
文件夹emailFolder=emailStore.getFolder(“收件箱”);
emailFolder.open(文件夹只读);
//4) 从数组中的文件夹中检索邮件并打印
Message[]messages=emailFolder.getMessages();
对于(inti=0;i