Java를 사용하여 SMTP 서버에 연결

SMTP는 클라이언트 애플리케이션에서 이메일 서버로 이메일을 보내는 데 일반적으로 사용되는 이메일 프로토콜입니다. SMTP 서버와 통신하기 전에 연결을 설정해야 합니다. 이 기사에서는 Java를 사용하여 프로그래밍 방식으로 SMTP 서버에 연결하는 방법을 배웁니다. 또한 이 기사에서는 SOCKS 또는 HTTP 프록시를 통해 SMTP 서버에 연결하는 방법을 다룹니다.

SMTP 서버에 연결하기 위한 Java API

SMTP 서버에 연결하기 위해 Aspose.Email for Java를 사용합니다. Java를 사용하여 기능이 풍부한 전자 메일 클라이언트 응용 프로그램을 만들 수 있는 강력한 API입니다. 또한 SMTP 서버에 연결하는 단순화된 방법을 제공합니다. API의 JAR을 다운로드하거나 다음 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>

Java를 사용하여 SMTP 서버에 연결

다음은 SMTP 서버에 연결하는 단계입니다.

  • SmtpClient 클래스의 객체를 생성하고 호스트 주소로 초기화합니다.
  • SmtpClient 개체를 사용하여 사용자 이름, 암호, 포트 및 보안 옵션을 설정합니다.
  • 이메일을 보냅니다.

다음 코드 샘플은 Java를 사용하여 SMTP 서버에 연결하는 방법을 보여줍니다.

// 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는 다음과 같은 메소드를 제공합니다.

Java에서 SOCKS 프록시를 통해 SMTP 서버에 연결

Aspose.Email for Java는 SOCKS 프록시 프로토콜 버전 4, 4a 및 5에 대한 지원을 제공합니다. 다음은 SOCKS 프록시를 통해 SMTP 서버에 연결하는 단계입니다.

  • SmtpClient 클래스의 객체를 생성하고 호스트, 사용자 이름, 비밀번호로 초기화합니다.
  • SocksProxy 클래스의 객체를 생성하고 서버의 주소, 포트, SOCKS 버전을 설정합니다.
  • SmtpClient.setProxy(SocksProxy) 메서드를 사용하여 프록시를 설정합니다.
  • 이메일을 보냅니다.

다음 코드 샘플은 SOCKS 프록시를 통해 SMTP 서버에 연결하는 방법을 보여줍니다.

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

Java에서 HTTP 프록시를 통해 SMTP 서버에 연결

다음은 HTTP 프록시를 통해 SMTP 서버에 연결하는 단계입니다.

  • HttpProxy 클래스의 객체를 생성하고 호스트와 포트 번호로 초기화합니다.
  • SmtpClient 클래스의 객체를 생성하고 호스트, 사용자 이름, 비밀번호, 포트를 설정합니다.
  • SmtpClient.setProxy(HttpProxy) 메서드를 사용하여 프록시를 설정합니다.
  • 이메일을 보냅니다.

다음 코드 샘플은 HTTP 프록시를 통해 SMTP 서버에 연결하는 방법을 보여줍니다.

// 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 라이선스 받기

평가 제한 없이 Java용 Aspose.Email을 사용하려면 무료 임시 라이센스를 얻으십시오.

결론

이 기사에서는 Java를 사용하여 프로그래밍 방식으로 SMTP 서버에 연결하는 방법을 배웠습니다. 또한 SOCKS 및 HTTP 프록시를 사용하여 SMTP 서버에 연결하는 방법을 살펴보았습니다. 문서를 사용하여 Aspose.Email for Java에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 쿼리를 제출할 수 있습니다.

또한보십시오