Невозможно загрузить темы и адрес отправителя (переадресация) - PullRequest
0 голосов
/ 25 июля 2011

Это код, предназначенный для получения адреса субъекта и отправителя из учетной записи переадресации. Но это не так.

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.swing.*;

class NewClass {
public static void main(String args[]) {
    Properties props = new Properties();
    props.put("mail.pop3.host" , "pop.rediffmail.com" );
    props.put("mail.pop3.user" , "username");
    // User SSL
    props.put("mail.pop3.socketFactory" , 110);
    props.put("mail.pop3.socketFactory.class" , "javax.net.ssl.SSLSocketFactory" );
    props.put("mail.pop3.port" , 110 );
    Session session = Session.getDefaultInstance(props , new Authenticator() {
        @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("username" , "password");
        }
    });

    try {
      Store store = session.getStore("pop3");
      store.connect("pop.rediffmail.com" , "username" , "password");
      Folder fldr = store.getFolder("Inbox");
      fldr.open(Folder.READ_WRITE);
      Message msgs[] = fldr.getMessages();
        for(int i = 0 ; i < msgs.length ; i++) {
            System.out.println(InternetAddress.toString(msgs[i].getFrom()) + "<-- FROM" + " " + msgs[i].getSubject() + "<---Subject");

        }
    } catch(Exception exc) {
        exc.printStackTrace();
    }
}

}

Во время выполнения выдает следующее исключение:

javax.mail.MessagingException: Connect failed;
 nested exception is:
    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:210)
    at javax.mail.Service.connect(Service.java:295)
    at javax.mail.Service.connect(Service.java:176)
    at NewClass.main(NewClass.java:25)
  Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at sun.security.ssl.InputRecord.handleUnknownRecord(Unknown Source)
    at sun.security.ssl.InputRecord.read(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:507)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
    at com.sun.mail.pop3.Protocol.<init>(Protocol.java:107)
    at com.sun.mail.pop3.POP3Store.getPort(POP3Store.java:261)
    at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:206)
    ... 3 more

Почему это? Предлагает ли Rediff услуги pop3 от других клиентов бесплатно?

1 Ответ

2 голосов
/ 25 июля 2011

Вы пытаетесь использовать SSL, судя по всему. Порт 110 обычно не используется для соединений SSL.


РЕДАКТИРОВАТЬ: похоже, Rediff поддерживает POP3: http://support.rediff.com/cgi-bin/support/printdetail.cgi?id=mail_1304.htm

Удалите ваше SSL-соединение, и все будет в порядке.


ДОПОЛНИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: похоже, что POP3 - это расширенная функция, поэтому она может быть недоступна в вашем аккаунте: http://support.rediff.com/cgi-bin/support/printdetail.cgi?id=mail_1301.htm

Вам нужно будет связаться с Rediff, чтобы настроить это.

...