इंस्टॉल
.NET 8 और उसके बाद के संस्करणों तथा .NET Standard 2.0 के लिए एक ही NuGet पैकेज, जिसकी .NET 8 पर कोई निर्भरता नहीं है।
इंस्टॉल
मौजूदा रिलीज़ 0.0.1 है। इसमें TypeScript SDK के हर मेथड के लिए एक मेथड है, और जब कोई मेथड छूट जाए या अलग अनुरोध भेजे तो पैकेज की समानता जाँच बिल्ड को विफल कर देती है।
dotnet add package OpenEmailusing OpenEmail; var client = new OpenEmailClient(); var sent = await client.Emails.SendAsync(new Body{ ["from"] = "Acme Billing <[email protected]>", ["to"] = "[email protected]", ["subject"] = "Your September invoice", ["html"] = "<p>Invoice attached.</p>",}); Console.WriteLine($"{sent["id"]} {sent["status"]}");new OpenEmailClient() कुंजी को OPENEMAIL_API_KEY से पढ़ता है, इसलिए कोड में कोई क्रेडेंशियल नहीं रहता। जब आपका कॉन्फ़िगरेशन कहीं और रहता हो तो new OpenEmailOptions { ApiKey = ... } पास करें। गायब या गलत बनावट वाली कुंजी, क्लाइंट बनते समय और कुछ भी भेजे जाने से पहले, ArgumentException थ्रो करती है।
अनुरोध बॉडी एक Body है, या कोई भी IReadOnlyDictionary<string, object?> जिसकी कुंजियाँ API के नाम रखती हैं, इसलिए scheduledAt यहाँ वैसे ही लिखा जाता है जैसे API संदर्भ में। जवाब System.Text.Json.Nodes का एक JsonObject है, जिसे sent["id"] से पढ़ा जाता है।
SendAsync का लौट आना इसका मतलब नहीं कि संदेश चला गया। शेड्यूल किया गया या रद्द किया जा सकने वाला send queued या scheduled लौटता है और बाद में तय होता है। status पढ़ें, न कि यह कि कॉल लौट आई।
इसे एक ही फ़ाइल में आज़माएँ
.NET 10 पर एक अकेली फ़ाइल बिना प्रोजेक्ट के चलती है। #:package वाली पंक्ति पैकेज ले आती है, और dotnet run send.cs संदेश भेज देता है।
#:package OpenEmail@* using OpenEmail; var client = new OpenEmailClient(); var sent = await client.Emails.SendAsync(new Body{ ["from"] = "[email protected]", ["to"] = "[email protected]", ["subject"] = "Sent from one file", ["text"] = "No project was needed.",}); Console.WriteLine(sent["id"]);यह कहाँ चलता है
पैकेज net8.0 और netstandard2.0 को टारगेट करता है। .NET 8 और उसके बाद के संस्करणों पर इसकी कोई निर्भरता नहीं है, और इसे ट्रिम करना और पहले से कंपाइल करना सुरक्षित है। .NET Standard 2.0 पर यह System.Text.Json और Microsoft.Bcl.AsyncInterfaces साथ लाता है। एक क्लाइंट को एक साथ कई थ्रेड से सुरक्षित रूप से इस्तेमाल किया जा सकता है: प्रोग्राम शुरू होते समय एक बनाएँ और उसे साझा करें।
क्लाइंट एक वर्कस्पेस API कुंजी लिए चलता है जो मेल भेज सकती है और मेलबॉक्स पढ़ सकती है, इसलिए इसकी जगह सर्वर पर, किसी जॉब में या आपकी अपनी मशीन पर चलने वाले टूल में है। कुंजी को किसी एनवायरनमेंट वेरिएबल या अपने फ़्रेमवर्क के secrets में रखें, कोड में कभी नहीं।