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 IMAP-servrar
- Anslut till IMAP-server i Java
- Anslut till IMAP-server via SOCKS Proxy
- Få åtkomst till IMAP-server via HTTP-proxy
- Anslut till SSL-aktiverad IMAP-server
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.
- Skapa en instans av klassen ImapClient och ställ in värd, användarnamn och lösenord.
- 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.
- Skapa en instans av klassen ImapClient och ange värden, användarnamn och lösenord.
- Skapa en instans av klassen SocksProxy och ange proxyadress, port och version.
- Ställ in proxy med metoden ImapClient.setProxy(SocksProxy).
- 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.
- Skapa en instans av klassen ImapClient och ange värden, användarnamn och lösenord.
- Skapa en instans av klassen HttpProxy och ange adress och port.
- Ställ in proxy med metoden ImapClient.setProxy(HttpProxy).
- 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.