Прочитайте электронную почту outlook office 365, используя селен (Java) - PullRequest
0 голосов
/ 03 марта 2020

Мне нужно прочитать письмо от клиента Outlook Office 365 во время выполнения базового веб-тестирования с использованием Selenium Java. Ранее код работал нормально для хоста: mail.client.co.in (Outlook 2010/2016). Раньше Кодекс использовался для чтения электронных писем из моего мировоззрения, не открывая веб-OWA. Теперь моя электронная почта перенесена на outlook.Office365.com, и поэтому приведенный ниже код не работает. Я использую протокол pop3 для чтения электронной почты.

Конечной целью является чтение электронной почты и необходимо установить свойства для чтения электронной почты, используя selenium java

Ниже приведен сценарий Selenium, который Я использую:

System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");
        String host = "outlook.office365.com";// change accordingly
        @SuppressWarnings("unused")
        String mailStoreType = "pop3";
        String username = " client username";
        String password = "********";

        try {
            // create properties field
            Properties properties = new Properties();
            properties.put("mail.store.protocol", "pop3");
            properties.put("mail.pop3.host", host);
            properties.put("mail.pop3.port", "995");
            properties.put("mail.pop3.starttls.enable","true");

            Session emailSession = Session.getDefaultInstance(properties);
            emailSession.setDebug(true);

            // create the POP3 store object and connect with the pop server
            Store store = emailSession.getStore("pop3s");

            store.connect(host, username, password);

            // create the folder object and open it
            Folder emailFolder = store.getFolder("INBOX");
            emailFolder.open(Folder.READ_ONLY);

            // retrieve the messages from the folder in an array and print it
            Message[] messages = emailFolder.getMessages();
            // System.out.println("messages.length---" + messages.length);
            for (int i = messages.length - 1; i == messages.length - 1; i--) {
                Message message = messages[i];
                // System.out.println(message.getSubject());
                String rvnmail = getTextFromMessage(message);

Ошибка консоли:

DEBUG: setDebug: JavaMail version 1.6.2
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Oracle]
DEBUG POP3: mail.pop3s.rsetbeforequit: false
DEBUG POP3: mail.pop3s.disabletop: false
DEBUG POP3: mail.pop3s.forgettopheaders: false
DEBUG POP3: mail.pop3s.cachewriteto: false
DEBUG POP3: mail.pop3s.filecache.enable: false
DEBUG POP3: mail.pop3s.keepmessagecontent: false
DEBUG POP3: mail.pop3s.starttls.enable: false
DEBUG POP3: mail.pop3s.starttls.required: false
DEBUG POP3: mail.pop3s.finalizecleanclose: false
DEBUG POP3: mail.pop3s.apop.enable: false
DEBUG POP3: mail.pop3s.disablecapa: false
DEBUG POP3: connecting to host "outlook.office365.com", port 995, isSSL true
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: outlook.office365.com, 995; timeout -1;

Вложенное исключение: java. net .ConnectException: Тайм-аут соединения: connect com.sun.mail. pop3.POP3Store.protocolConnect (POP3Store. java: 217) по адресу javax.mail.Service.connect (Service. java: 366) по адресу javax.mail.Service.connect (Service. java: 246)

...