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.
- SmtpClient sınıfından bir nesne oluşturun.
- Sırasıyla SmtpClient.Username, SmtpClient.Password ve SmtpClient.Port özelliklerini kullanarak kullanıcı adını, parolayı ve bağlantı noktası numarasını ayarlayın.
- SmtpClient.SecurityOptions özelliğini kullanarak Güvenlik seçeneklerini ayarlayın.
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.