Kalo te dokumentacioni
C#

Instalimi

Një paketë e vetme NuGet për .NET 8 e më të reja dhe për .NET Standard 2.0, pa asnjë varësi në .NET 8.

Instalimi

Versioni aktual është 0.0.1. Ka një metodë për çdo metodë të SDK-së TypeScript, dhe kontrolli i paritetit të paketës e bën ndërtimin të dështojë kur mungon ndonjëra ose kur dërgon një kërkesë tjetër.

dotnet add package OpenEmail
Program.cs
using 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() e lexon çelësin nga OPENEMAIL_API_KEY, kështu që kodi nuk mban asnjë kredencial. Jepni new OpenEmailOptions { ApiKey = ... } kur konfigurimi juaj ndodhet diku tjetër. Një çelës që mungon ose është i keqformuar hedh ArgumentException kur ndërtohet klienti, para se të dërgohet ndonjë gjë.

Trupi i një kërkese është një Body, ose çdo IReadOnlyDictionary<string, object?>, çelësat e të cilit ruajnë emrat e API-së, kështu që scheduledAt shkruhet këtu njësoj si në referencën e API-së. Një përgjigje është një JsonObject nga System.Text.Json.Nodes, që lexohet me sent["id"].

Kthimi i SendAsync nuk do të thotë se mesazhi ka ikur. Një dërgim i planifikuar ose i anulueshëm kthehet si queued ose scheduled dhe përfundon më vonë. Lexoni status, jo faktin që thirrja u kthye.

Provojeni në një skedar të vetëm

Në .NET 10 një skedar i vetëm ekzekutohet pa projekt. Rreshti #:package e merr paketën, dhe dotnet run send.cs e dërgon mesazhin.

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"]);

Ku funksionon

Paketa synon net8.0 dhe netstandard2.0. Në .NET 8 e më të reja nuk ka asnjë varësi, dhe është e sigurt ta shkurtoni dhe ta kompiloni paraprakisht. Në .NET Standard 2.0 sjell System.Text.Json dhe Microsoft.Bcl.AsyncInterfaces. Një klient mund të përdoret në mënyrë të sigurt nga shumë fije njëkohësisht: ndërtoni një kur nis programi dhe ndajeni.

Klienti mban një çelës API të hapësirës së punës që mund të dërgojë postë dhe të lexojë kutinë postare, prandaj vendi i tij është në një server, në një punë në sfond ose në një mjet që ekzekutohet në makinën tuaj. Mbajeni çelësin në një variabël mjedisi ose te sekretet e framework-ut tuaj, kurrë në kod.