Підключіться до SMTP-сервера за допомогою Java

SMTP — це широко використовуваний протокол електронної пошти для надсилання електронних листів із клієнтських програм на сервери електронної пошти. Перш ніж спілкуватися з сервером SMTP, вам потрібно встановити з’єднання. У цій статті ви дізнаєтесь, як підключитися до SMTP-сервера програмним шляхом за допомогою Java. Крім того, у статті буде описано, як підключитися до SMTP-серверів через SOCKS або HTTP-проксі.

Java API для підключення до SMTP-сервера

Для підключення до SMTP-сервера ми будемо використовувати Aspose.Email for Java. Це потужний API, який дозволяє створювати багатофункціональні клієнтські програми електронної пошти за допомогою Java. Крім того, він надає спрощені способи підключення до серверів SMTP. Ви можете завантажити JAR API або встановити його за допомогою наведених нижче конфігурацій 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>

Підключіться до SMTP-сервера за допомогою Java

Нижче наведено кроки для підключення до SMTP-сервера.

  • Створіть об’єкт класу SmtpClient та ініціалізуйте його адресою хоста.
  • Встановіть ім’я користувача, пароль, порт і параметри безпеки за допомогою об’єкта SmtpClient.
  • Надіслати електронний лист.

У наступному прикладі коду показано, як підключитися до SMTP-сервера за допомогою Java.

// Створіть об’єкт SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Встановіть ім’я користувача, пароль, порт і параметри безпеки
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

// Надсилайте електронні листи
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));

Використовуйте проксі для підключення до SMTP-сервера

У різних випадках сервери SMTP захищені за допомогою проксі. Тому вам потрібно підключитися до SMTP-сервера через проксі-сервер. Для таких випадків Aspose.Email for Java надає такі методи.

Підключіться до SMTP-серверів через SOCKS Proxy в Java

Aspose.Email for Java забезпечує підтримку версій 4, 4a та 5 протоколу проксі SOCKS. Нижче наведено кроки для підключення до SMTP-сервера через проксі-сервер SOCKS.

  • Створіть об’єкт класу SmtpClient та ініціалізуйте його хостом, іменем користувача та паролем.
  • Створіть об’єкт класу SocksProxy і встановіть адресу, порт і версію SOCKS сервера.
  • Встановіть проксі за допомогою методу SmtpClient.setProxy(SocksProxy).
  • Надсилайте електронні листи.

У наступному прикладі коду показано, як підключитися до SMTP-сервера через проксі-сервер SOCKS.

// Створіть об’єкт SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// Встановіть параметри безпеки
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// Налаштування проксі
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port

// Створення та налаштування проксі
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// Відправити лист
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)"));

Підключіться до SMTP-серверів через HTTP-проксі в Java

Нижче наведено кроки для підключення до SMTP-сервера через HTTP-проксі.

  • Створіть об’єкт класу HttpProxy та ініціалізуйте його хостом і номером порту.
  • Створіть об’єкт класу SmtpClient і встановіть хост, ім’я користувача, пароль і порт.
  • Встановіть проксі за допомогою методу SmtpClient.setProxy(HttpProxy).
  • Надсилайте електронні листи.

У наведеному нижче прикладі коду показано, як підключитися до SMTP-сервера через HTTP-проксі.

// Створіть об’єкт HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Створіть клієнт SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // Встановити проксі
    client.setProxy(proxy);
  
    // Надсилайте електронні листи
    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)"));
}

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати Aspose.Email for Java без оціночних обмежень.

Висновок

У цій статті ви дізналися, як підключитися до SMTP-сервера програмним шляхом за допомогою Java. Крім того, ви бачили, як використовувати SOCKS і HTTP-проксі для підключення до SMTP-сервера. Ви можете дізнатися більше про Aspose.Email for Java за допомогою документації. Крім того, ви можете надсилати свої запити через наш форум.

Дивись також