Conectar ao Servidor POP3
O Pop3Client classe permite que aplicações gerenciem caixas de e‑mail usando o Post Office Protocol, Versão 3 (POP3). Para conectar a um servidor, use o Pop3Client classe. O Pop3Client classe é a principal entrada para desenvolvedores que desejam adicionar gerenciamento POP3 às suas aplicações .NET. Este artigo explica como utilizá‑la. Para conectar a um servidor POP3:
- Crie uma instância do Pop3Client classe.
- Especifique o host, nome de usuário e senha no Pop3Client instância.
O trecho de código a seguir mostra como conectar ao servidor POP3.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();
// Specify host, username, password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connected to POP3 server.");
Conectando a um Servidor SSL
Conectando a um Servidor POP3 descreveu como conectar a um servidor POP3 em três etapas simples:
- Crie uma instância do Pop3Client classe.
- Especifique o host, nome de usuário e senha.
O processo para conectar a um servidor POP3 com SSL habilitado é semelhante, mas requer que você defina algumas outras propriedades:
- SecurityOptions
- Porta
Para conectar a um servidor POP3 com SSL habilitado, use o Pop3Client classe e definir o SecurityOptions e propriedades de Porta. O trecho de código a seguir mostra como conectar a um servidor POP3 com SSL habilitado.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client();
// Specify host, username and password, Port and SecurityOptions for your client
client.setHost("pop.gmail.com");
client.setUsername("your.username@gmail.com");
client.setPassword("your.password");
client.setPort(995);
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println("Connecting to POP3 server using SSL.");
Conectando a um Servidor APOP
POP significa Post Office Protocol. APOP significa Authenticated Post Office Protocol. APOP é uma versão estendida da configuração do servidor POP3 que criptografa seu nome de usuário e senha e usa um mecanismo de autenticação projetado para proteger a senha da sua conta POP3 ao verificar e‑mail. A autenticação APOP não requer que a senha da conta seja enviada em texto simples ao servidor de e‑mail POP3.
Conectando ao Servidor via Proxy
Servidores proxy são muito comuns para comunicar-se com o mundo externo. Nesses casos, endereços de proxy são usados por clientes de e‑mail para acessar caixas de correio via Internet. Aspose.Email oferece suporte às versões 4, 4a e 5 do protocolo proxy SOCKS. Este artigo fornece um exemplo funcional de recuperação de e‑mail usando um servidor proxy de e‑mail. Para recuperar e‑mail via servidor proxy:
- Initialize Proxy com as informações necessárias, ou seja, endereço do proxy, porta e versão SOCKS.
- Initialize Pop3Client com o endereço do host, nome de usuário, senha e quaisquer outras configurações.
- Defina a propriedade Proxy do cliente para o Proxy objeto criado acima.
O trecho de código a seguir mostra como recuperar e‑mails via servidor proxy.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of the Pop3Client class
Pop3Client client = new Pop3Client("pop.domain.com", "username", "password");
// Set proxy address, Port and Proxy
String proxyAddress = "192.168.203.142";
int proxyPort = 1080;
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
Conectando a um Servidor via Proxy HTTP
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
try (Pop3Client client = new Pop3Client("imap.domain.com", "username", "password")) {
client.setProxy(proxy);
Pop3MailboxInfo mailboxInfo = client.getMailboxInfo();
}
Personalizar Mecanismo de Autenticação
Recupere a lista de mecanismos de autenticação suportados pelo servidor POP3 usando o getSupportedAuthentication método do Pop3Client classe. Esse método permite que o cliente determine quais métodos de autenticação estão disponíveis para estabelecer uma conexão segura com o servidor. Em seguida, usando o setAllowedAuthentication método que obtém (ou define) a enumeração dos tipos de autenticação permitidos pelo usuário, escolha o mecanismo de autenticação mais adequado para a comunicação cliente‑servidor. Isso permite definir explicitamente o método de autenticação para o cliente de e‑mail.
O exemplo de código a seguir mostra como personalizar a autenticação do cliente de e‑mail:
pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);
Suporte ao protocolo OAuth 2.0 para autorização
OAuth 2.0 fornece autorização
Pop3Client suporta OAuth 2.0 fornecendo formas específicas de autorização para aplicações. Os construtores a seguir são usados para inicializar POP3Client usando OAuth:
public Pop3Client(
String host, /*The host name*/
int port, /*The port number*/
String username, /*The user name*/
ITokenProvider tokenProvider, /*TokenProvider allowing to retrieve access token*/
/*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/
public Pop3Client(
String host, /*The host name*/
int port, /*The port number*/
String username, /*The user name*/
String authInfo, /*The user password or XOAUTH2 access token*/
boolean useOAuth, /*Defines whether SASL XOAUTH2 mechanism is used to login to the server*/
/*SecurityOptions*/int securityOptions) /*Security mode for a mail client*/
Validar Credenciais do Servidor de E‑mail sem Enviar E‑mail
Às vezes é necessário verificar credenciais sem enviar um e‑mail. Aspose.Email fornece o validateCredentials() método para realizar esta operação. Se a validação for bem‑sucedida, o código dentro da instrução if é executado, tipicamente usado para executar ações adicionais ou recuperar dados do servidor IMAP. O trecho de código a seguir demonstra a validação de credenciais sem enviar um e‑mail:
try (Pop3Client pop3Client = new Pop3Client(
server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
pop3Client.setTimeout(4000);
if (pop3Client.validateCredentials()) {
// to do something
}
}
Usando autenticação CRAM-MD5 para conectar a um servidor
Para garantir autenticação segura e comunicação com o servidor POP3, você pode especificar e impor o uso de CRAM-MD5 como método de autenticação permitido para o cliente POP3. O trecho de código a seguir mostra como configurar o tipo de autenticação permitido para o Pop3Client:
popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);
Como Definir Tempo Limite para Operações de E‑mail
Cada operação de e‑mail leva algum tempo dependendo de diversos fatores (atrasos de rede, tamanho dos dados, desempenho do servidor, etc.). Você pode definir um tempo limite para todas as operações de e‑mail. O exemplo de código abaixo mostra como fazer isso usando o Tempo limite propriedade. Nota: não deve definir valores grandes para evitar longas esperas em sua aplicação.
try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
pop3Client.setTimeout(60000); // 60 seconds
// some code...
}