C# kullanarak SMTP Sunucularına bağlanın

Basit Posta Aktarım Protokolü (SMTP), istemci uygulamalarından e-posta sunucusuna e-posta mesajları göndermekle ilgilenen en yaygın kullanılan e-posta protokolüdür. Çeşitli durumlarda, e-posta istemcileri, e-postaları SMTP yoluyla göndermek için .NET uygulamaları içinde uygulanır. Bu tür senaryolar için bu makale, C# kullanarak bir SMTP sunucusuna program aracılığıyla nasıl bağlanılacağını kapsar. Ayrıca kod örnekleri, bağlantı kurulduktan sonra SMTP istemcisi yoluyla nasıl e-posta gönderileceğini gösterir.

SMTP Sunucusunu Bağlamak için C# API

Aspose.Email for .NET, güçlü e-posta istemci uygulamaları oluşturmak için tasarlanmış bir C# API’sidir. API, birkaç kod satırıyla karmaşık e-posta işlemlerini oldukça kolay bir şekilde gerçekleştirmeyi mümkün kılar. Ayrıca SMTP sunucularını SOCKS ve HTTP proxy sunucuları aracılığıyla bağlamanıza olanak tanır. API’nin DLL’sini indirebilir veya NuGet kullanarak yükleyebilirsiniz.

PM> Install-Package Aspose.Email

C# kullanarak SMTP Sunucusuna bağlanın

Bir SMTP sunucusuna bağlanmadan önce aşağıdakilerin bilinmesi gerekir.

  • Kullanıcı adı
  • Şifre
  • Liman

Bunlara sahip olduğunuzda, aşağıdaki adımları kullanarak SMTP istemcisini yapılandırabilirsiniz.

Aşağıdaki kod örneği, C# dilinde bir SMTP bağlantısı için API’nin nasıl ayarlanacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-email/Aspose.Email-for-.NET adresine gidin.
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Kullanıcı adı, parola, bağlantı noktası ve güvenlik seçeneklerini ayarlayın
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

API’yi yapılandırdıktan sonra, aşağıdaki seçeneklerden birini kullanarak bir SMTP sunucusuna bağlanabilirsiniz.

C# dilinde SOCKS Proxy Sunucusu aracılığıyla SMTP’ye bağlanın

Aspose.Email, SOCKS proxy protokolünün 4, 4a ve 5 sürümleri için destek sağlar. Aspose.Email for .NET kullanarak bir SOCKS proxy sunucusu aracılığıyla bir SMTP sunucusuna bağlanmak için gereken adımlar aşağıdadır.

  • Ana bilgisayar adresi, kullanıcı adı, parola ve diğer ayarlarla SmtpClient‘i başlatın.
  • SocksProxy sınıfından bir nesne oluşturun ve adresi ve bağlantı noktasını ayarlayın.
  • SmtpClient.Proxy özelliğini kullanarak istemcinin proxy’sini ayarlayın.
  • SmtpClient.Send() yöntemini kullanarak e-posta gönderin.

Aşağıdaki kod örneği, C# kullanarak SOCKS proxy aracılığıyla bir SMTP sunucusuna nasıl bağlanılacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-email/Aspose.Email-for-.NET adresine gidin.
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 Proxy Sunucusu aracılığıyla SMTP Sunucusuna Bağlan

Aşağıdakiler, bir HTTP proxy sunucusu aracılığıyla bir SMTP sunucusuna bağlanmak için izlenecek adımlardır.

  • HttpProxy sınıfının bir örneğini oluşturun ve onu IP ve bağlantı noktası numarasıyla başlatın.
  • SmtpClient nesnesini oluşturun ve yapılandırın.
  • SmtpClient.Proxy özelliğini kullanarak HTTP proxy’sini ayarlayın.
  • SmtpClient.Send() yöntemini kullanarak e-posta gönderin.

Aşağıdaki kod örneği, HTTP proxy sunucusu aracılığıyla bir SMTP sunucusuna nasıl bağlanılacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-email/Aspose.Email-for-.NET adresine gidin.
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)"));
}

Ücretsiz API Lisansı Alın

Geçici bir lisans alarak Aspose.Email for .NET’i ücretsiz olarak deneyebilir ve kullanabilirsiniz.

Çözüm

Bu makalede, C# kullanarak bir SMTP sunucusuna nasıl bağlanılacağını öğrendiniz. Ayrıca, adım adım kılavuz ve kod örnekleri, SMTP sunucusuna SOCKS ve HTTP proxy sunucuları aracılığıyla nasıl bağlanılacağını göstermiştir. Belgeleri kullanarak C# e-posta API’si hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız