Conectar Servidor POP3 hotmail, gmail com API Javamail

Bom dia.

Pessoal, ontem tive algumas surpresas quando estava me conectando a alguns servidores POP3 (hotmail, gmail) utilizando a API JavaMail. :shock:

Tenho alguns módulos prontos aqui que realiza a conexão com algum servidor POP3 e salva arquivos anexados com extensão “XML”.

Estava tenstando desde o início do desenvolvimento um servidor de email POP3 aqui da empresa que trabalho. Este trabalhando na porta 110. Legal, tava conseguindo. Porém, quando tento me conectar a uma conta: EX: hotmail, não consigo! Ontem pesquisando muito sobre, vi que os servidores Gmail, hotmail, yahoo, trabalham com o protocolo SSL.

Nessas pesquisas observei que tinha uns campos que alteravam, ou melhor, algumas propriedades eram acrescentadas na classe de conexão.

Queria a ajuda ou dica de voces apenas sobre oque muda quando tento me concectar a servidores como o hotmail. Ah, observei também, que a porta POP3 do Hotmail é 995, e não 110. Não sei se é por isso que é alterado o código ou acrescentado algo.

Na verdade queria apenas saber da parte teórica, ontem salvei vários exemplos de codificação de conexão com o servidor POP3 utilizando SSL. Ex: Qual a diferença de servidores que trabalham com o protocolo SSL POP3?

Desculpa se perguntei muito…rsrs

Agradeço desde já :smiley:

Valeu! :slight_smile:

boa tarde.

Depois de vários testes e pesquisas. Desenvolvi esta função que se conecta com um servidor de E-mail POP3 utilizando o protocolo SSL

Segue :

public Store conexaoServidorEMail(String protocolo, String porta, String host, String usuario, String senha) throws NoSuchProviderException, MessagingException 
{
        Properties prop = new Properties();
        prop.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        prop.setProperty("mail.pop3.socketFactory.fallback", "false");
        prop.setProperty("mail.pop3.port", porta);
        prop.setProperty("mail.pop3.socketFactory.port", porta);
        prop.setProperty("mail.pop3.host", host);
        prop.setProperty("mail.store.protocol", protocolo);
        
        Session session = Session.getInstance(prop, null);
        int portaaux = Integer.parseInt(porta);
        URLName urlName = new URLName(protocolo, host, portaaux, "", usuario, senha);
        Store store = new POP3SSLStore(session, urlName);
        store.connect();
        
        return store;
}

Queria a opinião dos amigos do GUJ. Tem algo a mais? Está faltando algo?

Testei vários servidores de E-mail, tive apenas problemas para me conectar no servidor da Yahoo, onde aparece o seguinte código de erro na console do Netbeans:

Exception in thread "main" javax.mail.AuthenticationFailedException: [AUTH] Access to this service is not permitted.
	at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:208)
	at javax.mail.Service.connect(Service.java:295)
	at javax.mail.Service.connect(Service.java:176)
	at javax.mail.Service.connect(Service.java:125)
	at MailProcess.conexaoServidorEMail(MailProcess.java:113)
	at MailProcess.processEmail(MailProcess.java:24)
	at Main.main(Main.java:10)
Java Result: 1

Protocolo: pop.mail.yahoo.com
Porta SSL: 995

Debugando a função, observei que a excessão aparece na linha store.connect(); do método acima.

Sinceramente não sei onde está o erro. Reforçando que, todos os outros principais Servidores consegui estabelecer a conexão POP3 :shock:

Se alguém puder ajudar, agradeço!

:smiley:

Bom dia.

Alguém consegue se conectar no servidor POP3 da Yahoo utilizando JavaMail? =D

Valeu :smiley:

Valeu pelas dicas. Agora entendi. É pelo fato do Yahoo! fornecer acesso POP3 apenas para contas de Emails pagas. Menos mal, pois assim considero minha função de conexão com o servidor POP3 correta! hehe

Obrigado! :smiley:

http://help.yahoo.com/l/us/yahoo/smallbusiness/bizmail/pop/pop-33.html

http://www.oracle.com/technetwork/java/faq-135477.html#webmail