Verbindung zum POP3‑Server herstellen

Die Pop3Client Klasse ermöglicht Anwendungen das Verwalten von E‑Mail‑Postfächern über das Post Office Protocol, Version 3 (POP3). Um sich mit einem Server zu verbinden, verwenden Sie die Pop3Client Klasse. Die Pop3Client Klasse ist der zentrale Einstieg für Entwickler, die POP3‑Verwaltung zu ihren .NET‑Anwendungen hinzufügen wollen. Dieser Artikel erklärt, wie sie verwendet wird. Um eine Verbindung zu einem POP3‑Server herzustellen:

  1. Erstellen Sie eine Instanz von dem Pop3Client Klasse.
  2. Geben Sie Host, Benutzernamen und Passwort im Pop3Client Instanz.

Das folgende Code‑Snippet zeigt, wie Sie sich mit dem POP3‑Server verbinden.

// 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.");

Verbindung zu SSL‑Server herstellen

Verbindung zu einem POP3‑Server herstellen beschreibt, wie man in drei einfachen Schritten eine Verbindung zu einem POP3‑Server herstellt:

  1. Erstellen Sie eine Instanz von dem Pop3Client Klasse.
  2. Geben Sie Host, Benutzernamen und Passwort an.

Der Vorgang zum Verbinden mit einem SSL‑aktivierten POP3‑Server ist ähnlich, erfordert jedoch das Setzen weiterer Eigenschaften:

Um sich mit einem SSL‑aktivierten POP3‑Server zu verbinden, verwenden Sie die Pop3Client Klasse und setzen Sie die Sicherheitsoptionen und Port‑Eigenschaften. Das folgende Code‑Snippet zeigt, wie Sie sich mit einem SSL‑aktivierten POP3‑Server verbinden.

// 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.");

Verbindung zu einem APOP‑Server herstellen

POP steht für Post Office Protocol. APOP steht für Authenticated Post Office Protocol. APOP ist eine erweiterte Version der POP3‑Servereinstellung, die Ihren Benutzernamen und Ihr Passwort verschlüsselt und einen Authentifizierungsmechanismus verwendet, der das POP3‑Konto‑Passwort beim Abrufen von E‑Mails schützt. Bei der APOP‑Authentifizierung muss das Kontopasswort nicht im Klartext an den POP3‑Mail‑Server gesendet werden.

Verbindung zu einem Server über Proxy herstellen

Proxy‑Server sind sehr verbreitet für die Kommunikation mit der Außenwelt. In solchen Fällen werden Proxy‑Adressen von E‑Mail‑Clients verwendet, um über das Internet auf Postfächer zuzugreifen. Aspose.Email unterstützt die Versionen 4, 4a und 5 des SOCKS‑Proxy‑Protokolls. Dieser Artikel liefert ein funktionierendes Beispiel zum Abrufen von E‑Mails über einen Proxy‑Mail‑Server. So rufen Sie E‑Mails über einen Proxy‑Server ab:

  1. Initialisieren Proxy mit den erforderlichen Informationen, d. h. Proxy‑Adresse, Port und SOCKS‑Version.
  2. Initialisieren Pop3Client mit der Host‑Adresse, dem Benutzernamen, Passwort und weiteren Einstellungen.
  3. Setzen Sie die Proxy‑Eigenschaft des Clients auf die Proxy Objekt, das oben erstellt wurde.

Das folgende Code‑Snippet zeigt, wie Sie E‑Mails über einen Proxy‑Server abrufen.

// 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();

Verbindung zu einem Server über HTTP‑Proxy herstellen

// 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();
}

Authentifizierungsmechanismus anpassen

Rufen Sie die Liste der vom POP3‑Server unterstützten Authentifizierungsmechanismen ab, indem Sie die getSupportedAuthentication Methode des Pop3Client Klasse. Diese Methode ermöglicht es dem Client zu bestimmen, welche Authentifizierungsmethoden für den Aufbau einer sicheren Verbindung mit dem Server verfügbar sind. Anschließend kann mit der setAllowedAuthentication Methode, die die Aufzählung der vom Benutzer zulässigen Authentifizierungstypen abruft (oder setzt), um den am besten geeigneten Authentifizierungsmechanismus für die Client‑Server‑Kommunikation auszuwählen. Damit können Sie die Authentifizierungsmethode für den Mail‑Client explizit festlegen.

Das folgende Code‑Beispiel zeigt, wie die Authentifizierung des E‑Mail‑Clients angepasst wird:

pop3Client.setAllowedAuthentication(Pop3KnownAuthenticationType.Plain);

OAuth‑2.0‑Protokollunterstützung für Autorisierung

OAuth 2.0 bietet Autorisierung

Pop3Client unterstützt OAuth 2.0 und bietet spezifische Autorisierungsverfahren für Anwendungen. Die folgenden Konstruktoren werden verwendet, um POP3Client mit OAuth zu initialisieren:

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*/

Mail‑Server-Anmeldeinformationen ohne Senden einer E‑Mail validieren

Manchmal ist es notwendig, Anmeldeinformationen zu überprüfen, ohne eine E‑Mail zu senden. Aspose.Email bietet die validateCredentials() Methode, um diesen Vorgang auszuführen. Wenn die Validierung erfolgreich ist, wird der Code innerhalb der if‑Anweisung ausgeführt, typischerweise um weitere Aktionen durchzuführen oder Daten vom IMAP‑Server abzurufen. Das folgende Code‑Snippet demonstriert die Validierung von Anmeldeinformationen ohne eine E‑Mail zu senden:

try (Pop3Client pop3Client = new Pop3Client(
        server.Pop3Url, server.Pop3Port, "userName", "password", SecurityOptions.Auto)) {
    pop3Client.setTimeout(4000);

    if (pop3Client.validateCredentials()) {
        // to do something
    }
}

CRAM‑MD5‑Authentifizierung zum Verbinden mit einem Server verwenden

Um eine sichere Authentifizierung und Kommunikation mit dem POP3‑Server zu gewährleisten, können Sie die Verwendung von CRAM‑MD5 als zulässige Authentifizierungsmethode für den POP3‑Client festlegen und erzwingen. Das folgende Code‑Snippet zeigt, wie der zulässige Authentifizierungstyp für den Pop3Client:

popClient.setAllowedAuthentication(Pop3KnownAuthenticationType.CramMD5);

Wie man einen Timeout für E‑Mail‑Operationen festlegt

Jeder E‑Mail‑Vorgang benötigt je nach vielen Faktoren (Netzwerkverzögerungen, Datenmenge, Server‑Leistung usw.) gewisse Zeit. Sie können für alle E‑Mail‑Vorgänge einen Timeout festlegen. Das nachstehende Code‑Beispiel zeigt, wie Sie das mit dem Timeout Eigenschaft. Hinweis: Sie sollten keine großen Werte setzen, um lange Wartezeiten in Ihrer Anwendung zu vermeiden.

try (Pop3Client pop3Client = new Pop3Client("host", 995, "username", "password", SecurityOptions.Auto))
{
    pop3Client.setTimeout(60000); // 60 seconds

    // some code...
}