API JavaMail - Servidores POP3
Post Office Protocol (POP) é um protocolo padrão da camada de aplicativo da Internet usado por clientes de e-mail locais para recuperar e-mail de um servidor remoto por meio de uma conexão TCP / IP. O POP oferece suporte a requisitos simples de download e exclusão para acesso a caixas de correio remotas. Um servidor POP3 escuta na conhecida porta 110.
Pacote com.sun.mail.pop3é um provedor de protocolo POP3 para a API JavaMail que fornece acesso a um armazenamento de mensagens POP3. A tabela abaixo lista as classes neste pacote:
Nome | Descrição |
---|---|
POP3Folder | Uma pasta POP3 (só pode ser "INBOX"). |
POP3Message | Uma mensagem POP3. |
POP3SSLStore | Um armazenamento de mensagens POP3 usando SSL. |
POP3Store | Um armazenamento de mensagens POP3. |
Alguns pontos a serem observados acima deste provedor:
O provedor POP3 suporta apenas uma única pasta chamada INBOX. Devido às limitações do protocolo POP3, muitos dos recursos da API JavaMail, como notificação de eventos, gerenciamento de pastas, gerenciamento de sinalizadores, etc., não são permitidos.
O provedor POP3 é acessado por meio das APIs JavaMail usando o nome de protocolo pop3 ou uma URL no formato pop3: // usuário: senha @ host: porta / INBOX " .
POP3 não oferece suporte a sinalizadores permanentes. Por exemplo, o sinalizador Flags.Flag.RECENT nunca será definido para mensagens POP3. Cabe ao aplicativo determinar quais mensagens em uma caixa de correio POP3 são novas .
POP3 não oferece suporte ao método Folder.expunge (). Para excluir e eliminar mensagens, defina o sinalizador Flags.Flag.DELETED nas mensagens e feche a pasta usando o método Folder.close (true).
POP3 não fornece uma data de recebimento , portanto, o método getReceivedDate retornará nulo.
Quando os cabeçalhos de uma mensagem POP3 são acessados, o provedor POP3 usa o comando TOP para buscar todos os cabeçalhos, que são armazenados em cache.
Quando o conteúdo de uma mensagem POP3 é acessado, o provedor POP3 usa o comando RETR para buscar a mensagem inteira.
O método POP3Message.invalidate pode ser usado para invalidar os dados armazenados em cache sem fechar a pasta.
O provedor de protocolo POP3 oferece suporte às seguintes propriedades, que podem ser definidas no objeto JavaMail Session. As propriedades são sempre definidas como strings; a coluna Tipo descreve como a string é interpretada.
Nome | Tipo | Descrição |
---|---|---|
mail.pop3.user | Corda | Nome de usuário padrão para POP3. |
mail.pop3.host | Corda | O servidor POP3 ao qual se conectar. |
mail.pop3.port | int | A porta do servidor POP3 à qual se conectar, se o método connect () não especificar explicitamente uma. O padrão é 110. |
mail.pop3.connectiontimeout | int | Valor de tempo limite de conexão do soquete em milissegundos. O padrão é tempo limite infinito. |
mail.pop3.timeout | int | Valor de tempo limite de E / S do soquete em milissegundos. O padrão é tempo limite infinito. |
mail.pop3.rsetbeforequit | boleano | Envie um comando POP3 RSET ao fechar a pasta, antes de enviar o comando QUIT. O padrão é falso. |
mail.pop3.message.class | Corda | Nome da classe de uma subclasse de com.sun.mail.pop3.POP3Message. A subclasse pode ser usada para manipular (por exemplo) cabeçalhos Content-Type não padrão. A subclasse deve ter um construtor público da forma MyPOP3Message (Folder f, int msgno) lança MessagingException. |
mail.pop3.localaddress | Corda | Endereço local (nome do host) para vincular ao criar o soquete POP3. O padrão é o endereço escolhido pela classe Socket. |
mail.pop3.localport | int | Número da porta local para vincular ao criar o soquete POP3. O padrão é o número da porta escolhido pela classe Socket. |
mail.pop3.apop.enable | boleano | Se definido como verdadeiro, use APOP em vez de USER / PASS para fazer login no servidor POP3, se o servidor POP3 suportar APOP. APOP envia um resumo da senha em vez da senha em texto não criptografado. O padrão é falso. |
mail.pop3.socketFactory | Fábrica de Soquetes | Se definida como uma classe que implementa a interface javax.net.SocketFactory, esta classe será usada para criar soquetes POP3. |
mail.pop3.socketFactory.class | Corda | Se definido, especifica o nome de uma classe que implementa a interface javax.net.SocketFactory. Esta classe será usada para criar soquetes POP3. |
mail.pop3.socketFactory.fallback | boleano | Se definido como verdadeiro, a falha em criar um soquete usando a classe de fábrica de soquete especificada fará com que o soquete seja criado usando a classe java.net.Socket. O padrão é verdadeiro. |
mail.pop3.socketFactory.port | int | Especifica a porta para conectar ao usar a fábrica de soquetes especificada. Se não for definida, a porta padrão será usada. |
mail.pop3.ssl.enable | boleano | Se definido como verdadeiro, use SSL para conectar e usar a porta SSL por padrão. O padrão é falso para o protocolo "pop3" e verdadeiro para o protocolo "pop3s". |
mail.pop3.ssl.checkserveridentity | boleano | Se definido como verdadeiro, verifique a identidade do servidor conforme especificado pelo RFC 2595. O padrão é falso. |
mail.pop3.ssl.trust | Corda | Se definido, e um socket factory não foi especificado, habilita o uso de MailSSLSocketFactory. Se definido como "*", todos os hosts são confiáveis. Se definido como uma lista de hosts separados por espaços em branco, esses hosts são confiáveis. Caso contrário, a confiança depende do certificado que o servidor apresenta. |
mail.pop3.ssl.socketFactory | SSL Socket Factory | Se definida como uma classe que estende a classe javax.net.ssl.SSLSocketFactory, essa classe será usada para criar soquetes SSL POP3. |
mail.pop3.ssl.socketFactory.class | Corda | Se definido, especifica o nome de uma classe que estende a classe javax.net.ssl.SSLSocketFactory. Esta classe será usada para criar soquetes SSL POP3. |
mail.pop3.ssl.socketFactory.port | int | Especifica a porta para conectar ao usar a fábrica de soquetes especificada. Se não for definida, a porta padrão será usada. |
mail.pop3.ssl.protocols | corda | Especifica os protocolos SSL que serão ativados para conexões SSL. O valor da propriedade é uma lista separada por espaços em branco de tokens aceitáveis para o método javax.net.ssl.SSLSocket.setEnabledProtocols. |
mail.pop3.starttls.enable | boleano | Se verdadeiro, habilita o uso do comando STLS (se compatível com o servidor) para alternar a conexão para uma conexão protegida por TLS antes de emitir qualquer comando de login. O padrão é falso. |
mail.pop3.starttls.required | boleano | Se verdadeiro, requer o uso do comando STLS. Se o servidor não suportar o comando STLS ou se o comando falhar, o método de conexão falhará. O padrão é falso. |
mail.pop3.socks.host | corda | Especifica o nome do host de um servidor proxy SOCKS5 que será usado para conexões com o servidor de e-mail. |
mail.pop3.socks.port | corda | Especifica o número da porta para o servidor proxy SOCKS5. |
mail.pop3.disabletop | boleano | Se definido como verdadeiro, o comando POP3 TOP não será usado para buscar cabeçalhos de mensagens. O padrão é falso. |
mail.pop3.forgettopheaders | boleano | Se definido como verdadeiro, os cabeçalhos que podem ter sido recuperados usando o comando POP3 TOP serão esquecidos e substituídos por cabeçalhos recuperados como parte do comando POP3 RETR. O padrão é falso. |
mail.pop3.filecache.enable | boleano | Se definido como verdadeiro, o provedor POP3 armazenará em cache os dados da mensagem em um arquivo temporário em vez de na memória. As mensagens são adicionadas ao cache apenas ao acessar o conteúdo da mensagem. Os cabeçalhos das mensagens são sempre armazenados em cache na memória (sob demanda). O cache do arquivo é removido quando a pasta é fechada ou o JVM é encerrado. O padrão é falso. |
mail.pop3.filecache.dir | Corda | Se o cache de arquivo estiver ativado, esta propriedade pode ser usada para substituir o diretório padrão usado pelo JDK para arquivos temporários. |
mail.pop3.cachewriteto | boleano | Controla o comportamento do método writeTo em um objeto de mensagem POP3. Se definido como verdadeiro, e o conteúdo da mensagem ainda não foi armazenado em cache e ignoreList for nulo, a mensagem será armazenada em cache antes de ser gravada. Caso contrário, a mensagem é transmitida diretamente para o fluxo de saída sem ser armazenada em cache. O padrão é falso. |
mail.pop3.keepmessagecontent | boleano | Se esta propriedade for definida como true, uma referência permanente ao conteúdo em cache será mantida, evitando que a memória seja reutilizada até que a pasta seja fechada ou o conteúdo em cache seja explicitamente invalidado (usando o método invalidate). O padrão é falso. |
Em geral, os aplicativos não devem usar as classes deste pacote diretamente. Em vez disso, eles devem usar as APIs definidas pelo pacote javax.mail (e subpacotes). Os aplicativos nunca devem construir instâncias de POP3Store ou POP3Folder diretamente. Em vez disso, eles devem usar o método getStore de Session para adquirir um objeto Store apropriado e, a partir desse objeto, adquirir objetos Folder.
Exemplos para usar o servidor POP3 são demonstrados no capítulo Verificando e-mails .