C# (.NET) का उपयोग करके SmtpClient और MailKit के साथ ईमेल भेजना

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C# (.NET) पर ईमेल भेजना: SmtpClient, MailKit और MimeKit



ईमेल भेजना आधुनिक अनुप्रयोगों में एक बुनियादी कार्य है। C# (.NET) इकोसिस्टम में अंतर्निहित उपकरण (क्लास SmtpClient) और शक्तिशाली तृतीय-पक्ष लाइब्रेरी (MailKit और MimeKit) दोनों उपलब्ध हैं। इस गाइड में, हम दोनों दृष्टिकोणों का विस्तार से विश्लेषण करेंगे, कोड उदाहरण, SMTP सर्वर कॉन्फ़िगरेशन, अटैचमेंट और HTML ईमेल के साथ काम करने पर विचार करेंगे।



1. अंतर्निहित SmtpClient (System.Net.Mail)



क्लास SmtpClient .NET Framework और .NET Core/5+ (सीमाओं के साथ) में उपलब्ध है। इसका उपयोग करना सरल है, लेकिन यह आधुनिक प्रोटोकॉल (जैसे OAuth2) का समर्थन नहीं करता है और नई परियोजनाओं के लिए इसे पुराना माना जाता है।



2. MailKit की स्थापना और कनेक्शन



MailKit ईमेल के साथ काम करने के लिए एक क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी है। यह पूरी तरह से एसिंक्रोनस है, SSL/TLS, OAuth2, S/MIME और अन्य आधुनिक सुविधाओं का समर्थन करता है। NuGet के माध्यम से स्थापना:



dotnet add package MailKitdotnet add package MimeKit


या पैकेज मैनेजर कंसोल के माध्यम से:



Install-Package MailKitInstall-Package MimeKit


3. SmtpClient का उपयोग करके सरल ईमेल भेजने का उदाहरण



अंतर्निहित SmtpClient का उपयोग करके बुनियादी उदाहरण:



using System.Net;using System.Net.Mail;

public void SendSimpleEmail(){ var fromAddress = new MailAddress("sender@example.com", "प्रेषक"); var toAddress = new MailAddress("recipient@example.com", "प्राप्तकर्ता"); const string fromPassword = "your_password"; const string subject = "ईमेल का विषय"; const string body = "ईमेल का टेक्स्ट";

var smtp = new SmtpClient { Host = "smtp.example.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) };

using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, Body = body }) { smtp.Send(message); }}


महत्वपूर्ण: Gmail, Yandex और अन्य सेवाओं के लिए, ऐप पासवर्ड या OAuth2 का उपयोग करना आवश्यक है।



4. MailKit के साथ ईमेल भेजना (अनुशंसित तरीका)



MailKit अधिक लचीला और आधुनिक API प्रदान करता है। सरल टेक्स्ट ईमेल भेजने का उदाहरण:



using MailKit.Net.Smtp;using MailKit.Security;using MimeKit;using System.Threading.Tasks;

public async Task SendEmailWithMailKitAsync(){ var message = new MimeMessage(); message.From.Add(new MailboxAddress("प्रेषक", "sender@example.com")); message.To.Add(new MailboxAddress("प्राप्तकर्ता", "recipient@example.com")); message.Subject = "ईमेल का विषय"; message.Body = new TextPart("plain") { Text = "ईमेल का टेक्स्ट" };

using (var client = new SmtpClient()) { await client.ConnectAsync("smtp.example.com", 587, SecureSocketOptions.StartTls); await client.AuthenticateAsync("sender@example.com", "your_password"); await client.SendAsync(message); await client.DisconnectAsync(true); }}


5. अटैचमेंट के साथ HTML ईमेल भेजना



MimeKit का उपयोग करके मल्टीपार्ट ईमेल (HTML + अटैचमेंट) बनाना:



public async Task SendHtmlEmailWithAttachmentAsync(){    var message = new MimeMessage();    message.From.Add(new MailboxAddress("प्रेषक", "sender@example.com"));    message.To.Add(new MailboxAddress("प्राप्तकर्ता", "recipient@example.com"));    message.Subject = "अटैचमेंट के साथ HTML ईमेल";

var bodyBuilder = new BodyBuilder { HtmlBody = @"<h1>नमस्ते!</h1><p>यह अटैचमेंट के साथ एक HTML ईमेल है।</p>", TextBody = "यह टेक्स्ट

अनुशंसाएँ