Połącz się z serwerem SMTP przy użyciu języka Java

SMTP to powszechnie używany protokół poczty e-mail do wysyłania wiadomości e-mail z aplikacji klienckich na serwery poczty e-mail. Przed nawiązaniem komunikacji z serwerem SMTP należy nawiązać połączenie. W tym artykule dowiesz się, jak programowo połączyć się z serwerem SMTP za pomocą języka Java. Ponadto w artykule omówiono sposób łączenia się z serwerami SMTP za pośrednictwem SOCKS lub serwerów proxy HTTP.

Java API do łączenia się z serwerem SMTP

Aby połączyć się z serwerem SMTP użyjemy Aspose.Email for Java. Jest to potężny interfejs API, który umożliwia tworzenie bogatych w funkcje aplikacji klienckich poczty e-mail przy użyciu języka Java. Ponadto zapewnia uproszczone sposoby łączenia się z serwerami SMTP. Możesz pobrać plik JAR interfejsu API lub zainstalować go przy użyciu następujących konfiguracji Mavena.

<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.3</version>
    <classifier>jdk16</classifier>
</dependency>

Połącz się z serwerem SMTP przy użyciu języka Java

Poniżej przedstawiono kroki, aby połączyć się z serwerem SMTP.

  • Utwórz obiekt klasy SmtpClient i zainicjuj go adresem hosta.
  • Ustaw nazwę użytkownika, hasło, port i opcje zabezpieczeń za pomocą obiektu SmtpClient.
  • Wyślij wiadomość e-mail.

Poniższy przykładowy kod pokazuje, jak połączyć się z serwerem SMTP przy użyciu języka Java.

// Utwórz obiekt SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Ustaw nazwę użytkownika, hasło, port i opcje zabezpieczeń
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

// Wysyłać emaile
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));

Użyj serwera proxy, aby połączyć się z serwerem SMTP

W różnych przypadkach serwery SMTP są zabezpieczane za pomocą proxy. Dlatego musisz połączyć się z serwerem SMTP za pośrednictwem serwera proxy. W takich przypadkach Aspose.Email dla języka Java udostępnia następujące metody.

Połącz się z serwerami SMTP przez SOCKS Proxy w Javie

Aspose.Email dla Javy zapewnia obsługę wersji 4, 4a i 5 protokołu proxy SOCKS. Poniżej przedstawiono kroki, aby połączyć się z serwerem SMTP za pośrednictwem serwera proxy SOCKS.

Poniższy przykładowy kod pokazuje, jak połączyć się z serwerem SMTP za pośrednictwem serwera proxy SOCKS.

// Utwórz obiekt SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// Ustaw opcje bezpieczeństwa
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// Ustawienia proxy
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port

// Utwórz i ustaw proxy
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// Wysłać email
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy",
        "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));

Połącz się z serwerami SMTP za pośrednictwem serwera proxy HTTP w Javie

Poniżej przedstawiono kroki, aby połączyć się z serwerem SMTP za pośrednictwem serwera proxy HTTP.

Poniższy przykładowy kod pokazuje, jak połączyć się z serwerem SMTP za pośrednictwem serwera proxy HTTP.

// Utwórz obiekt HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Utwórz klienta SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // Ustaw proxy
    client.setProxy(proxy);
  
    // Wysyłać emaile
    client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy",
            "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.Email for Java bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak programowo połączyć się z serwerem SMTP przy użyciu języka Java. Ponadto widziałeś, jak używać serwerów proxy SOCKS i HTTP do łączenia się z serwerem SMTP. Możesz dowiedzieć się więcej o Aspose.Email dla Javy, korzystając z dokumentacji. Ponadto możesz przesyłać swoje zapytania za pośrednictwem naszego forum.

Zobacz też