Anslut till IMAP-servern med Java

Internet Message Access Protocol(IMAP) är ett vanligt använt protokoll för att hämta meddelanden från e-postservrarna. För att komma åt brevlådan från dina klientapplikationer måste du först upprätta en anslutning till IMAP-servern. För att uppnå detta, visar denna artikel omslag för att ansluta till en IMAP-server med Java. Dessutom kommer du att lära dig hur du använder SOCKS eller HTTP-proxy och ansluter till en SSL-aktiverad IMAP-server programmatiskt.

Java API för att ansluta en IMAP-server

För att ansluta till IMAP-servrarna kommer vi att använda Aspose.Email for Java. Det är ett kraftfullt API som låter dig implementera funktionsrika e-postklienter från dina Java-applikationer. Du kan antingen ladda ner API:t eller installera det med hjälp av följande Maven-konfigurationer.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>21.6</version>
    <classifier>jdk16</classifier>
</dependency>

Anslut till en IMAP-server i Java

Följande är stegen för att ansluta till en IMAP-server med Java.

  1. Skapa en instans av klassen ImapClient och ställ in värd, användarnamn och lösenord.
  2. Använd ImapClient-objektet för att komma åt postlådan, dvs med metoden ImapClient.selectFolder(“Inbox”).

Följande kodexempel visar hur du ansluter till en IMAP-server.

// Skapa en imapclient med värd, användarnamn och lösenord
ImapClient client = new ImapClient("localhost", "user", "password");

// Få tillgång till inkorgen
try {
    client.selectFolder("Inbox");
} catch (java.lang.RuntimeException ex) {
    System.out.println(ex.getMessage());
}

Anslut till IMAP-servrar via proxy

I vissa fall är e-postservrarna inte tillgängliga direkt och du måste använda en proxy. Aspose.Email för Java stöder SOCKS och HTTP-proxyer för att ansluta till en IMAP-server. Följande avsnitt visar hur man upprättar en anslutning via en proxy.

Anslut till en IMAP-server via SOCKS Proxy

Följande är stegen för att ansluta till en IMAP-server via SOCKS-proxy.

  1. Skapa en instans av klassen ImapClient och ange värden, användarnamn och lösenord.
  2. Skapa en instans av klassen SocksProxy och ange proxyadress, port och version.
  3. Ställ in proxy med metoden ImapClient.setProxy(SocksProxy).
  4. Använd ImapClient-objektet för att komma åt postlådan, dvs med metoden ImapClient.selectFolder(“Inbox”).

Följande kodexempel visar hur du ansluter till IMAP-servrarna via SOCKS-proxy i Java.

// Anslut och logga in på IMAP och ställ in Säkerhetsalternativ
ImapClient client = new ImapClient("imap.domain.com", "username", "password");
client.setSecurityOptions(SecurityOptions.Auto);

String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);

// Ställ in proxyn
client.setProxy(proxy);

try {
    // Få åtkomst till inkorgen
    client.selectFolder("Inbox");
} catch (java.lang.RuntimeException ex) {
    System.out.println(ex.getMessage());
}

Anslut till en IMAP-server via HTTP-proxy

Följande är stegen för att ansluta till en IMAP-server via HTTP-proxy i Java.

  1. Skapa en instans av klassen ImapClient och ange värden, användarnamn och lösenord.
  2. Skapa en instans av klassen HttpProxy och ange adress och port.
  3. Ställ in proxy med metoden ImapClient.setProxy(HttpProxy).
  4. Använd ImapClient-objektet för att komma åt postlådan, dvs med metoden ImapClient.selectFolder(“Inbox”).

Följande kodexempel visar hur du får åtkomst till IMAP-servrar via HTTP-proxy i Java.

// Skapa en instans av HttpProxy och specisy värd och port
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Skapa IMAP-klient
ImapClient client = new ImapClient("imap.domain.com", "username", "password");

// Ställ in proxy och få åtkomst till brevlådan
try {
    client.setProxy(proxy);
    client.selectFolder("Inbox");
} finally {
    if (client != null)
        client.dispose();
}

Anslut till SSL-aktiverade IMAP-servrar i Java

Aspose.Email för Java tillåter även anslutning av SSL-aktiverade IMAP-servrar. I så fall måste du ställa in säkerhetsalternativet SecurityOptions.SSLImplicit för ImapClient med metoden ImapClient.setSecurityOptions()).

Följande kodexempel visar hur du ansluter till en SSL-aktiverad IMAP-server.

// Skapa en instans av klassen ImapClient
ImapClient client = new ImapClient("imap.domain.com", 993, "user@domain.com", "pwd");

// Ställ in säkerhetsläget på implicit
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// Få tillgång till inkorgen
try {
    client.selectFolder("Inbox");
} catch (java.lang.RuntimeException ex) {
    System.out.println(ex.getMessage());
}

Skaffa en gratis API-licens

Du kan använda Aspose.Email för Java gratis genom att skaffa en tillfällig licens.

Slutsats

I den här artikeln har du lärt dig hur du ansluter till en IMAP-server med Java. Dessutom har steg-för-steg-guiden och kodexempel visat hur man ansluter till en IMAP-server via SOCKS eller HTTP-proxy. Du kan utforska mer om API:t med hjälp av dokumentation. Om du har frågor eller funderingar får du gärna meddela oss via vårt forum.

Se även