Verbinden met POP3‑server
De Pop3Client klasse stelt applicaties in staat mailboxen te beheren met het Post Office Protocol, versie 3 (POP3). Om verbinding te maken met een server, gebruik de Pop3Client klasse. De Pop3Client klasse is de belangrijkste toegangspoort voor ontwikkelaars die POP3‑beheer willen toevoegen aan hun .NET‑applicaties. Dit artikel legt uit hoe u deze kunt gebruiken. Om verbinding te maken met een POP3‑server:
- Maak een instantie van de Pop3Client klasse.
- Geef de host, gebruikersnaam en wachtwoord op in de Pop3Client instantie.
Het volgende codefragment toont hoe u verbindt met de POP3‑server.
// 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.");
Verbinden met SSL‑server
Verbinden met een POP3‑server beschreef hoe u in drie eenvoudige stappen verbinding maakt met een POP3‑server:
- Maak een instantie van de Pop3Client klasse.
- Geef de host, gebruikersnaam en wachtwoord op.
Het proces voor het verbinden met een SSL‑ingeschakelde POP3‑server is vergelijkbaar, maar vereist dat u nog enkele eigenschappen instelt:
- SecurityOptions
- Poort
Om verbinding te maken met een SSL‑ingeschakelde POP3‑server, gebruik de Pop3Client klasse en stel de SecurityOptions en Poort‑eigenschappen. Het volgende codefragment toont hoe u verbinding maakt met een SSL‑ingeschakelde POP3‑server.
// 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.");
Verbinden met een APOP‑server
POP staat voor Post Office Protocol. APOP staat voor Authenticated Post Office Protocol. APOP is een uitgebreide versie van de POP3‑serverinstelling die uw gebruikersnaam en wachtwoord versleutelt en een authenticatiemechanisme gebruikt dat is ontworpen om uw POP3‑accountwachtwoord te beschermen bij het controleren van e‑mail. APOP-authenticatie vereist niet dat het accountwachtwoord als platte tekst naar de POP3‑mailserver wordt verzonden.
Verbinden met server via proxy
Proxy‑servers zijn heel gebruikelijk voor communicatie met de buitenwereld. In zulke gevallen worden proxy‑adressen gebruikt zodat e‑mailclients mailboxen via internet kunnen benaderen. Aspose.Email ondersteunt de versies 4, 4a en 5 van het SOCKS‑proxy‑protocol. Dit artikel biedt een werkend voorbeeld van het ophalen van e‑mail met een proxy‑mailserver. Om e‑mail op te halen via een proxy‑server:
- Initialiseren Proxy met de vereiste informatie, namelijk proxy‑adres, poort en SOCKS‑versie.
- Initialiseren Pop3Client met het hostadres, gebruikersnaam, wachtwoord en eventuele andere instellingen.
- Stel de Proxy-eigenschap van de client in op de Proxy object hierboven aangemaakt.
Het volgende codefragment toont hoe u e‑mails kunt ophalen via een proxyserver.
// 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();
Verbinden met een server via HTTP-proxy
// 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();
}
Authenticatiemechanisme aanpassen
Haal de lijst op van authenticatiemechanismen die door de POP3‑server worden ondersteund met behulp van de getSupportedAuthentication methode van de Pop3Client klasse. Deze methode stelt de client in staat te bepalen welke authenticatiemethoden beschikbaar zijn voor het tot stand brengen van een beveiligde verbinding met de server. Vervolgens, met behulp van de setAllowedAuthentication methode die (of de) enumeratie van door de gebruiker toegestane authenticatietypen ophaalt (of instelt), kies het meest geschikte authenticatiemechanisme voor de client‑servercommunicatie. Hiermee kunt u de authenticatiemethode voor de e‑mailclient expliciet instellen.
Het volgende codevoorbeeld laat zien hoe u de authenticatie van de e‑mailclient kunt aanpassen:
pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);
OAuth 2.0-protocolondersteuning voor autorisatie
OAuth 2.0 biedt autorisatie
Pop3Client ondersteunt OAuth 2.0 en biedt specifieke autorisatiemethoden voor applicaties. De volgende constructors worden gebruikt om POP3Client te initialiseren met 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*/
Mailserver‑inloggegevens valideren zonder e‑mail te verzenden
Soms is het nodig inloggegevens te verifiëren zonder een e‑mail te verzenden. Aspose.Email biedt de validateCredentials() methode om deze bewerking uit te voeren. Als de validatie slaagt, wordt de code binnen de if‑statement uitgevoerd, gewoonlijk gebruikt om verdere acties uit te voeren of gegevens van de IMAP‑server op te halen. Het volgende codefragment toont de validatie van inloggegevens zonder een e‑mail te verzenden:
try (Pop3Client pop3Client = new Pop3Client(
server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
pop3Client.setTimeout(4000);
if (pop3Client.validateCredentials()) {
// to do something
}
}
CRAM-MD5-authenticatie gebruiken om verbinding te maken met een server
Om veilige authenticatie en communicatie met de POP3‑server te waarborgen, kunt u het gebruik van CRAM-MD5 opgeven en afdwingen als toegestane authenticatiemethode voor de POP3‑client. Het volgende codefragment toont hoe u het toegestane authenticatietype configureert voor de Pop3Client:
popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);
Time‑out instellen voor e‑mailbewerkingen
Elke e‑mailbewerking kost tijd, afhankelijk van veel factoren (netwerkvertragingen, datagrootte, serverprestaties, enz.). U kunt een time‑out instellen voor alle e‑mailbewerkingen. Het code‑voorbeeld hieronder laat zien hoe u dat doet met behulp van de Time‑out eigenschap. Opmerking: u moet geen grote waarden instellen om lange wachttijden in uw applicatie te voorkomen.
try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
pop3Client.setTimeout(60000); // 60 seconds
// some code...
}