تتيح لك هذه المكتبة استخدام Twilio SendGrid Web API v3 بسرعة وسهولة عبر C# مع .NET.
يوفر الإصدار 9.X.X+ من هذه المكتبة الدعم الكامل لجميع نقاط نهاية Twilio SendGrid Web API v3، بما في ذلك v3 /mail/send الجديد.
للحصول على تحديثات لهذه المكتبة، راجع سجل التغيير والإصدارات الخاصة بنا.
نحن نقدر دعمكم المستمر، شكرا لكم!
احصل على مفتاح API الخاص بك من واجهة مستخدم Twilio SendGrid.
قم بإدارة مفاتيح Twilio SendGrid API الخاصة بك عن طريق تخزينها في متغيرات البيئة أو في Web.config. من الممارسات الجيدة الاحتفاظ ببياناتك وإعدادات التكوين منفصلة. بهذه الطريقة يمكنك تغيير مفتاح Twilio SendGrid API الخاص بك دون تغيير الكود الخاص بك. كما ننصح بشدة بعدم تخزين البيانات الحساسة مباشرة في التعليمات البرمجية الخاصة بك.
إعداد متغيرات البيئة باستخدام واجهة المستخدم:
إعداد متغيرات البيئة باستخدام CMD:
فيما يلي بعض الأمثلة للحصول على مفاتيح API وتعيينها برمجيًا:
# Get Environment Variable
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
# Set Environment Variable
var setKey = Environment . SetEnvironmentVariable ( " SENDGRID_API_KEY " , " YOUR_API_KEY " ) ;
لاستخدام Twilio SendGrid في مشروع C# الخاص بك، يمكنك إما تنزيل مكتبات Twilio SendGrid C# .NET مباشرة من مستودع Github الخاص بنا أو إذا كان مدير الحزم NuGet مثبتًا لديك، فيمكنك الحصول عليها تلقائيًا:
dotnet add package SendGrid
# use Twilio SendGrid with HttpClientFactory
dotnet add package SendGrid.Extensions.DependencyInjection
بمجرد تثبيت مكتبة Twilio SendGrid، يمكنك تضمين الاستدعاءات إليها في التعليمات البرمجية الخاصة بك. للحصول على نماذج للتطبيقات، راجع مثال .NET Core ومجلدات أمثلة .NET 4.5.2.
الرجاء الاطلاع على ملف .csproj.
فيما يلي الحد الأدنى من الكود المطلوب لإرسال بريد إلكتروني بسيط. استخدم هذا المثال، وقم بتعديل apiKey
، from
to
المتغيرات:
using System ;
using System . Threading . Tasks ;
using SendGrid ;
using SendGrid . Helpers . Mail ;
class Program
{
static async Task Main ( )
{
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
var client = new SendGridClient ( apiKey ) ;
var from = new EmailAddress ( " [email protected] " , " Example User " ) ;
var subject = " Sending with Twilio SendGrid is Fun " ;
var to = new EmailAddress ( " [email protected] " , " Example User " ) ;
var plainTextContent = " and easy to do anywhere, even with C# " ;
var htmlContent = " and easy to do anywhere, even with C# " ;
var msg = MailHelper . CreateSingleEmail ( from , to , subject , plainTextContent , htmlContent ) ;
var response = await client . SendEmailAsync ( msg ) . ConfigureAwait ( false ) ;
}
}
بعد تنفيذ الكود أعلاه، يجب أن يكون response.StatusCode
هو 202
ويجب أن يكون لديك بريد إلكتروني في صندوق الوارد to
بالمستلم. يمكنك التحقق من حالة بريدك الإلكتروني في واجهة المستخدم. وبدلاً من ذلك، يمكننا نشر الأحداث على عنوان URL من اختيارك باستخدام الرابط الإلكتروني للأحداث الخاص بنا. يمنحك هذا بيانات حول الأحداث التي تحدث أثناء معالجة Twilio SendGrid لبريدك الإلكتروني.
بالنسبة للحالات الأكثر تقدمًا، يمكنك إنشاء كائن SendGridMessage بنفسك باستخدام الحد الأدنى من الإعدادات المطلوبة:
using System ;
using System . Threading . Tasks ;
using SendGrid ;
using SendGrid . Helpers . Mail ;
class Program
{
static async Task Main ( )
{
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
var client = new SendGridClient ( apiKey ) ;
var msg = new SendGridMessage ( )
{
From = new EmailAddress ( " [email protected] " , " DX Team " ) ,
Subject = " Sending with Twilio SendGrid is Fun " ,
PlainTextContent = " and easy to do anywhere, even with C# " ,
HtmlContent = " and easy to do anywhere, even with C# "
} ;
msg . AddTo ( new EmailAddress ( " [email protected] " , " Test User " ) ) ;
var response = await client . SendEmailAsync ( msg ) . ConfigureAwait ( false ) ;
}
}
يمكنك العثور على مثال لجميع ميزات البريد الإلكتروني هنا.
using System ;
using System . Threading . Tasks ;
using SendGrid ;
class Program
{
static async Task Main ( )
{
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
var client = new SendGridClient ( apiKey ) ;
var queryParams = @"{'limit': 100}" ;
var response = await client . RequestAsync ( method : SendGridClient . Method . GET , urlPath : " suppression/bounces " ,
queryParams : queryParams ) . ConfigureAwait ( false ) ;
}
}
مطلوب SendGrid.Extensions.DependencyInjection
using System ;
using System . Threading . Tasks ;
using Microsoft . Extensions . DependencyInjection ;
using SendGrid ;
using SendGrid . Extensions . DependencyInjection ;
using SendGrid . Helpers . Mail ;
class Program
{
static async Task Main ( )
{
var services = ConfigureServices ( new ServiceCollection ( ) ) . BuildServiceProvider ( ) ;
var client = services . GetRequiredService < ISendGridClient > ( ) ;
var msg = new SendGridMessage ( )
{
From = new EmailAddress ( " [email protected] " , " Example User " ) ,
Subject = " Sending with Twilio SendGrid is Fun "
} ;
msg . AddContent ( MimeType . Text , " and easy to do anywhere, even with C# " ) ;
msg . AddTo ( new EmailAddress ( " [email protected] " , " Example User " ) ) ;
var response = await client . SendEmailAsync ( msg ) . ConfigureAwait ( false ) ;
}
private static IServiceCollection ConfigureServices ( IServiceCollection services )
{
services . AddSendGrid ( options =>
{
options . ApiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
} ) ;
return services ;
}
}
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
var proxy = new WebProxy ( " http://proxy:1337 " ) ;
var client = new SendGridClient ( proxy , apiKey ) ;
أو عند استخدام DependencyInjection
services . AddSendGrid ( options =>
{
options . ApiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
} )
. ConfigurePrimaryHttpMessageHandler ( _ => new HttpClientHandler ( )
{
Proxy = new WebProxy ( new Uri ( " http://proxy:1337 " ) ) ,
UseProxy = true
} ) ;
فيما يلي بعض الأمثلة على حالات استخدام واجهة برمجة التطبيقات الشائعة، مثل كيفية إرسال بريد إلكتروني باستخدام قالب المعاملات.
نحن نشجع المساهمة في مكتبتنا (قد تحصل أيضًا على بعض الغنيمة الرائعة)، يرجى الاطلاع على دليل المساهمة الخاص بنا للحصول على التفاصيل.
روابط سريعة:
يرجى الاطلاع على دليل استكشاف الأخطاء وإصلاحها الخاص بنا لمعرفة مشكلات المكتبة الشائعة.
تتم صيانة sendgrid-csharp وتمويله بواسطة Twilio SendGrid, Inc.. الأسماء والشعارات الخاصة بـ sendgrid-csharp هي علامات تجارية مملوكة لشركة Twilio SendGrid, Inc.
إذا كنت بحاجة إلى مساعدة في استخدام SendGrid، فيرجى مراجعة مركز مساعدة دعم Twilio SendGrid.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT)