Připojte se k SMTP serveru pomocí Java

SMTP je běžně používaný e-mailový protokol pro odesílání e-mailů z klientských aplikací na e-mailové servery. Před komunikací se serverem SMTP musíte navázat spojení. V tomto článku se dozvíte, jak se připojit k serveru SMTP programově pomocí Java. Dále se článek bude zabývat tím, jak se připojit k SMTP serverům přes SOCKS nebo HTTP proxy.

Java API pro připojení k serveru SMTP

Abychom se mohli připojit k serveru SMTP, použijeme Aspose.Email for Java. Jedná se o výkonné rozhraní API, které vám umožňuje vytvářet aplikace e-mailového klienta bohaté na funkce pomocí Java. Kromě toho poskytuje zjednodušené způsoby připojení k serverům SMTP. JAR API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací Maven.

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

Připojte se k serveru SMTP pomocí Java

Následují kroky pro připojení k serveru SMTP.

  • Vytvořte objekt třídy SmtpClient a inicializujte jej s adresou hostitele.
  • Nastavte uživatelské jméno, heslo, port a možnosti zabezpečení pomocí objektu SmtpClient.
  • Pošlete e-mail.

Následující ukázka kódu ukazuje, jak se připojit k serveru SMTP pomocí jazyka Java.

// Vytvořte objekt SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Nastavte uživatelské jméno, heslo, port a možnosti zabezpečení
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

// Odesílejte e-maily
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));

Pro připojení k serveru SMTP použijte proxy

V různých případech jsou SMTP servery zabezpečeny pomocí proxy. Proto se musíte k SMTP serveru připojit přes proxy server. Pro takové případy poskytuje Aspose.Email for Java následující metody.

Připojte se k SMTP serverům přes SOCKS Proxy v Javě

Aspose.Email for Java poskytuje podporu pro verze 4, 4a a 5 proxy protokolu SOCKS. Níže jsou uvedeny kroky pro připojení k serveru SMTP přes proxy SOCKS.

  • Vytvořte objekt třídy SmtpClient a inicializujte jej pomocí hostitele, uživatelského jména a hesla.
  • Vytvořte objekt třídy SocksProxy a nastavte adresu serveru, port a verzi SOCKS.
  • Nastavte proxy pomocí metody SmtpClient.setProxy(SocksProxy).
  • Odesílejte e-maily.

Následující ukázka kódu ukazuje, jak se připojit k serveru SMTP prostřednictvím serveru proxy SOCKS.

// Vytvořte objekt SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// Nastavte možnosti zabezpečení
client.setSecurityOptions(SecurityOptions.SSLImplicit);

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

// Vytvořte a nastavte proxy
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// Poslat e-mailem
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)"));

Připojte se k SMTP serverům přes HTTP Proxy v Javě

Níže jsou uvedeny kroky pro připojení k serveru SMTP přes HTTP proxy.

  • Vytvořte objekt třídy HttpProxy a inicializujte jej s číslem hostitele a portu.
  • Vytvořte objekt třídy SmtpClient a nastavte hostitele, uživatelské jméno, heslo a port.
  • Nastavte proxy pomocí metody SmtpClient.setProxy(HttpProxy).
  • Odesílejte e-maily.

Následující ukázka kódu ukazuje, jak se připojit k serveru SMTP přes HTTP proxy.

// Vytvořte objekt HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Vytvořte SMTP klienta
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // Nastavit proxy
    client.setProxy(proxy);
  
    // Odesílejte e-maily
    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)"));
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat Aspose.Email pro Javu bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak se připojit k serveru SMTP programově pomocí Java. Kromě toho jste viděli, jak používat SOCKS a HTTP proxy pro připojení k serveru SMTP. Více o Aspose.Email pro Javu můžete prozkoumat pomocí dokumentace. Kromě toho můžete své dotazy zasílat prostřednictvím našeho fóra.

Viz také