Simple Mail Transfer Protocol(SMTP)은 클라이언트 애플리케이션에서 이메일 서버로 이메일 메시지를 보내는 데 가장 일반적으로 사용되는 이메일 프로토콜입니다. 다양한 경우에 전자 메일 클라이언트는 SMTP를 통해 전자 메일을 보내기 위해 .NET 응용 프로그램 내에서 구현됩니다. 이러한 시나리오의 경우 이 문서에서는 C#를 사용하여 프로그래밍 방식으로 SMTP 서버에 연결하는 방법을 다룹니다. 또한 코드 샘플은 연결 설정 후 SMTP 클라이언트를 통해 이메일을 보내는 방법을 보여줍니다.
SMTP 서버 연결을 위한 C# API
Aspose.Email for .NET은 강력한 이메일 클라이언트 애플리케이션을 생성하도록 설계된 C# API입니다. API를 사용하면 몇 줄의 코드 내에서 복잡한 이메일 작업을 아주 쉽게 수행할 수 있습니다. 또한 SOCKS 및 HTTP 프록시 서버를 통해 SMTP 서버에 연결할 수 있습니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.
PM> Install-Package Aspose.Email
C#을 사용하여 SMTP 서버에 연결
SMTP 서버에 연결하기 전에 다음 사항을 알아야 합니다.
- 사용자 이름
- 비밀번호
- 포트
일단 가지고 있으면 다음 단계를 사용하여 SMTP 클라이언트를 구성할 수 있습니다.
- SmtpClient 클래스의 객체를 생성합니다.
- SmtpClient.Username, SmtpClient.Password 및 SmtpClient.Port 속성을 각각 사용하여 사용자 이름, 암호 및 포트 번호를 설정합니다.
- SmtpClient.SecurityOptions 속성을 사용하여 보안 옵션을 설정합니다.
다음 코드 샘플은 C#에서 SMTP 연결을 위한 API를 설정하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-email/Aspose.Email-for-.NET으로 이동하십시오.
SmtpClient client = new SmtpClient("smtp.gmail.com");
// 사용자 이름, 암호, 포트 및 보안 옵션 설정
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;
API를 구성했으면 다음 옵션 중 하나를 사용하여 SMTP 서버에 연결할 수 있습니다.
C#에서 SOCKS 프록시 서버를 통해 SMTP에 연결
Aspose.Email은 SOCKS 프록시 프로토콜 버전 4, 4a 및 5를 지원합니다. 다음은 .NET용 Aspose.Email을 사용하여 SOCKS 프록시 서버를 통해 SMTP 서버에 연결하는 단계입니다.
- 호스트 주소, 사용자 이름, 암호 및 기타 설정으로 SmtpClient를 초기화합니다.
- SocksProxy 클래스의 객체를 생성하고 주소와 포트를 설정합니다.
- SmtpClient.Proxy 속성을 사용하여 클라이언트의 프록시를 설정합니다.
- SmtpClient.Send() 메서드를 사용하여 이메일을 보냅니다.
다음 코드 샘플은 C#을 사용하여 SOCKS 프록시를 통해 SMTP 서버에 연결하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-email/Aspose.Email-for-.NET으로 이동하십시오.
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
string proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.Proxy = 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)"));
HTTP 프록시 서버를 통해 SMTP 서버에 연결
다음은 HTTP 프록시 서버를 통해 SMTP 서버에 연결하는 단계입니다.
- HttpProxy 클래스의 인스턴스를 생성하고 IP와 포트 번호로 초기화합니다.
- SmtpClient 개체를 만들고 구성합니다.
- SmtpClient.Proxy 속성을 사용하여 HTTP 프록시를 설정합니다.
- SmtpClient.Send() 메서드를 사용하여 이메일을 보냅니다.
다음 코드 샘플은 HTTP 프록시 서버를 통해 SMTP 서버에 연결하는 방법을 보여줍니다.
// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-email/Aspose.Email-for-.NET으로 이동하십시오.
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
using (SmtpClient client = new SmtpClient("host", 587, "username", "password"))
{
client.Proxy = proxy;
client.Send(new MailMessage(
"from@domain.com",
"to@domain.com",
"NETWORKNET-34226 - " + Guid.NewGuid().ToString(),
"NETWORKNET-34226 Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}
무료 API 라이선스 받기
임시 라이선스 받기를 통해 .NET용 Aspose.Email을 무료로 사용해 볼 수 있습니다.
결론
이 문서에서는 C#을 사용하여 SMTP 서버에 연결하는 방법을 배웠습니다. 또한 단계별 가이드 및 코드 샘플은 SOCKS 및 HTTP 프록시 서버를 통해 SMTP 서버에 연결하는 방법을 보여줍니다. 문서를 사용하여 C# 이메일 API에 대해 자세히 알아볼 수 있습니다.