Jacobvu84 / selenium-vietnam-training-course

Questions Tracking
7 stars 5 forks source link

unable to find valid certification path to requested target; #42

Open Jacobvu84 opened 6 years ago

Jacobvu84 commented 6 years ago
package com.test;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.InternetAddress;

public class CheckingMails {

    public static void main(String[] args) throws MessagingException {
        try {
            System.out.println("Get...");
            getMailWithIMAP();
            System.out.println("Done...");
        } catch (NoSuchProviderException ex) {
            System.out.println("Errrr");

        }
    }

    private static void getMailWithIMAP() throws NoSuchProviderException, MessagingException {
        Properties properties = System.getProperties();

        properties.setProperty("mail.store.protocol", "imap");

        properties.setProperty("mail.imap.host", "imap.gmail.com");
        properties.setProperty("mail.imap.port", "993");
        properties.setProperty("mail.imap.auth", "true");
        //properties.setProperty("mail.imap.connectiontimeout", "5000");
        //properties.setProperty("mail.imap.timeout", "5000");
        properties.setProperty("mail.imap.ssl.enable", "true");
        properties.setProperty("mail.imap.socketFactory.class", javax.net.ssl.SSLSocketFactory.class.getName());
        properties.setProperty("mail.imap.socketFactory.fallback", "false");

        Session session = Session.getDefaultInstance(properties, new Authenticator() {

            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("phuong@gmail.com", "xxxx");
            }

        });

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

        Folder[] folders = store.getDefaultFolder().list("*");
        for (Folder folder : folders) {

            folder.open(Folder.READ_ONLY);

            System.out.println("#[" + folder.getFullName() + "]");

            Message[] messages = folder.getMessages();
            for (Message message : messages) {
                String from = "";

                InternetAddress[] addresses = (InternetAddress[]) message.getFrom();

                for (InternetAddress address : addresses) {

                    from += address.getAddress();

                }

                System.out.println("   + from: " + from);
                System.out.println("   + Subject: " + message.getSubject());
                System.out.println("   + Time: " + message.getSentDate());

            }

        }
    }
}

I should use which dependency ?

        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>imap</artifactId>
            <version>1.6.0</version>
        </dependency>

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