Mit dieser Bibliothek können Sie die Twilio SendGrid Web API v3 schnell und einfach über C# mit .NET verwenden.
Version 9.X.X+ dieser Bibliothek bietet vollständige Unterstützung für alle Twilio SendGrid Web API v3-Endpunkte, einschließlich der neuen v3 /mail/send.
Aktualisierungen dieser Bibliothek finden Sie in unserem CHANGELOG und unseren Veröffentlichungen.
Wir freuen uns über Ihre anhaltende Unterstützung, vielen Dank!
Holen Sie sich Ihren API-Schlüssel über die Twilio SendGrid-Benutzeroberfläche.
Verwalten Sie Ihre Twilio SendGrid-API-Schlüssel, indem Sie sie in Umgebungsvariablen oder in Web.config speichern. Es empfiehlt sich, Ihre Daten und Konfigurationseinstellungen getrennt aufzubewahren. Auf diese Weise können Sie Ihren Twilio SendGrid-API-Schlüssel ändern, ohne Ihren Code zu ändern. Außerdem raten wir dringend davon ab, sensible Daten direkt in Ihrem Code zu speichern.
Umgebungsvariablen über die Benutzeroberfläche einrichten:
Umgebungsvariablen mit CMD einrichten:
Hier sind einige Beispiele zum programmgesteuerten Abrufen und Festlegen von API-Schlüsseln:
# Get Environment Variable
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
# Set Environment Variable
var setKey = Environment . SetEnvironmentVariable ( " SENDGRID_API_KEY " , " YOUR_API_KEY " ) ;
Um Twilio SendGrid in Ihrem C#-Projekt zu verwenden, können Sie die Twilio SendGrid C# .NET-Bibliotheken entweder direkt aus unserem Github-Repository herunterladen oder, wenn Sie den NuGet-Paketmanager installiert haben, sie automatisch abrufen:
dotnet add package SendGrid
# use Twilio SendGrid with HttpClientFactory
dotnet add package SendGrid.Extensions.DependencyInjection
Sobald Sie die Twilio SendGrid-Bibliothek installiert haben, können Sie Aufrufe dafür in Ihren Code einbinden. Beispielimplementierungen finden Sie in den Ordnern „.NET Core-Beispiel“ und „.NET 4.5.2-Beispiel“.
Bitte sehen Sie sich die .csproj-Datei an.
Im Folgenden finden Sie den mindestens erforderlichen Code zum Versenden einer einfachen E-Mail. Verwenden Sie dieses Beispiel und ändern Sie die Variablen apiKey
, from
und 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 ) ;
}
}
Nach der Ausführung des obigen Codes sollte response.StatusCode
202
sein und Sie sollten eine E-Mail im Posteingang to
Empfängers haben. Sie können den Status Ihrer E-Mail in der Benutzeroberfläche überprüfen. Alternativ können wir Ereignisse mithilfe unseres Event-Webhooks an eine URL Ihrer Wahl veröffentlichen. Dadurch erhalten Sie Daten über die Ereignisse, die auftreten, während Twilio SendGrid Ihre E-Mails verarbeitet.
Für fortgeschrittenere Fälle können Sie das SendGridMessage-Objekt mit den folgenden erforderlichen Mindesteinstellungen selbst erstellen:
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 ) ;
}
}
Ein Beispiel aller E-Mail-Funktionen finden Sie hier.
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 ist erforderlich
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 ) ;
Oder bei Verwendung von DependencyInjection
services . AddSendGrid ( options =>
{
options . ApiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
} )
. ConfigurePrimaryHttpMessageHandler ( _ => new HttpClientHandler ( )
{
Proxy = new WebProxy ( new Uri ( " http://proxy:1337 " ) ) ,
UseProxy = true
} ) ;
Hier finden Sie einige Beispiele für gängige API-Anwendungsfälle, z. B. das Versenden einer E-Mail mit einer Transaktionsvorlage.
Wir ermutigen Sie, Beiträge zu unserer Bibliothek zu leisten (vielleicht ergattern Sie sogar ein paar tolle Geschenke). Weitere Informationen finden Sie in unserem Leitfaden „Beiträge leisten“.
Quicklinks:
Weitere Informationen zu häufigen Bibliotheksproblemen finden Sie in unserem Leitfaden zur Fehlerbehebung.
sendgrid-csharp wird von Twilio SendGrid, Inc. verwaltet und finanziert. Die Namen und Logos für sendgrid-csharp sind Marken von Twilio SendGrid, Inc.
Wenn Sie Hilfe bei der Verwendung von SendGrid benötigen, schauen Sie bitte im Twilio SendGrid Support Help Center nach.
Die MIT-Lizenz (MIT)