MailKit for C# (.NET): उदाहरणों के साथ पूर्ण गाइड
1. यह क्या है और इसकी आवश्यकता क्यों है
MailKit एक शक्तिशाली, क्रॉस-प्लेटफ़ॉर्म ओपन-सोर्स लाइब्रेरी है जो .NET इकोसिस्टम में ईमेल के साथ काम करने के लिए बनाई गई है। यह ईमेल संदेशों को बनाने, भेजने, प्राप्त करने और प्रोसेस करने के लिए पूर्ण टूलसेट प्रदान करती है। पुरानी System.Net.Mail के विपरीत, MailKit एक आधुनिक API, MIME (Multipurpose Internet Mail Extensions) के लिए पूर्ण समर्थन, S/MIME और OpenPGP के साथ काम करने की क्षमता, और एसिंक्रोनस ऑपरेशन प्रदान करती है, जो उच्च-लोड वाले एप्लिकेशन के लिए महत्वपूर्ण है।
MailKit की आवश्यकता क्यों है? यदि आप C# में डेवलप कर रहे हैं और अटैचमेंट के साथ ईमेल भेजने, इनकमिंग ईमेल पार्स करने, विभिन्न ईमेल प्रोटोकॉल (SMTP, POP3, IMAP) के साथ काम करने, या जटिल ईमेल फ़ॉर्मेट (HTML, अटैचमेंट, सिग्नेचर) को हैंडल करने की आवश्यकता है, तो MailKit आपका अपरिहार्य टूल बन जाएगा। इसका उपयोग हजारों कंपनियों द्वारा प्रोडक्शन एनवायरनमेंट में किया जाता है, जिसमें Microsoft (अपनी कुछ आंतरिक सेवाओं में) भी शामिल है, और यह .NET Framework, .NET Core, .NET 5+ और यहां तक कि Xamarin/MAUI को भी सपोर्ट करता है।
MailKit के प्रमुख लाभ: ईमेल के नवीनतम मानकों (RFC 2045-2049, RFC 2822, RFC 5322) का पूर्ण समर्थन, बिल्ट-इन SSL/TLS सपोर्ट, प्रॉक्सी के साथ काम करना, बड़े अटैचमेंट की स्ट्रीमिंग प्रोसेसिंग, और System.IO.Pipelines और async/await के उपयोग के कारण उच्च प्रदर्शन।
2. इंस्टॉलेशन
MailKit NuGet पैकेज मैनेजर के माध्यम से इंस्टॉल होती है। Package Manager Console या .NET CLI टर्मिनल में निम्नलिखित कमांड में से एक चलाएं:
// .NET CLI के माध्यम से
dotnet add package MailKit
// Package Manager Console के माध्यम से
Install-Package MailKit
// या Visual Studio में NuGet Package Manager के माध्यम से
// "MailKit" खोजें और नवीनतम स्थिर संस्करण इंस्टॉल करें
इंस्टॉलेशन के बाद, प्रोजेक्ट में MimeKit (MIME संदेशों के साथ काम करने के लिए बेस लाइब्रेरी) पर एक निर्भरता जुड़ जाएगी - यह ट्रांज़िटिव डिपेंडेंसी के रूप में स्वचालित रूप से इंस्टॉल हो जाती है।
3. त्वरित शुरुआत - न्यूनतम कार्यशील उदाहरण
नीचे Gmail SMTP सर्वर के माध्यम से एक सरल टेक्स्ट ईमेल भेजने का न्यूनतम उदाहरण दिया गया है। ध्यान दें: Gmail के साथ काम करने के लिए App Password या OAuth 2.0 का उपयोग करना आवश्यक है।
using MailKit.Net.Smtp;
using MimeKit;
// संदेश बनाएं
var message = new MimeMessage();
message.From.Add(new MailboxAddress("प्रेषक", "sender@gmail.com"));
message.To.Add(new MailboxAddress("प्राप्तकर्ता", "recipient@example.com"));
message.Subject = "MailKit से परीक्षण ईमेल";
message.Body = new TextPart("plain") { Text = "नमस्ते! यह एक परीक्षण संदेश है।" };
// SMTP के माध्यम से भेजें
using (var client = new SmtpClient())
{
client.Connect("smtp.gmail.com", 587, SecureSocketOptions.StartTls);
client.Authenticate("sender@gmail.com", "your-app-password");
client.Send(message);
client.Disconnect(true);
}
Console.WriteLine("ईमेल भेज दिया गया!");
4. मुख्य तरीके/फ़ंक्शन/क्लास
4.1. SmtpClient.Connect()
सिग्नेचर: Task ConnectAsync(string host, int port, SecureSocketOptions options, CancellationToken cancellationToken = default)
यह क्या करता है: SMTP सर्वर से कनेक्शन स्थापित करता है। पैरामीटर SecureSocketOptions एन्क्रिप्शन के प्रकार को निर्धारित करता है: None, Auto, SslOnConnect, StartTls।
using var client = new SmtpClient();
await client.ConnectAsync("smtp.mail.ru", 465, SecureSocketOptions.SslOnConnect);
4.2. SmtpClient.Authenticate()
सिग्नेचर: Task AuthenticateAsync(string userName, string password, CancellationToken cancellationToken =