Cette bibliothèque vous permet d'utiliser rapidement et facilement l'API Web Twilio SendGrid v3 via C# avec .NET.
La version 9.X.X+ de cette bibliothèque offre une prise en charge complète de tous les points de terminaison de l'API Web Twilio SendGrid v3, y compris la nouvelle v3 /mail/send.
Pour les mises à jour de cette bibliothèque, consultez notre CHANGELOG et nos versions.
Nous apprécions votre soutien continu, merci !
Récupérez votre clé API depuis l'interface utilisateur de Twilio SendGrid.
Gérez vos clés API Twilio SendGrid en les stockant dans des variables d'environnement ou dans Web.config. C'est une bonne pratique de séparer vos données et vos paramètres de configuration. De cette façon, vous pouvez modifier votre clé API Twilio SendGrid sans changer votre code. Aussi, nous vous déconseillons fortement de stocker des données sensibles directement dans votre code.
Configurer les variables d'environnement à l'aide de l'interface utilisateur :
Configurer les variables d'environnement à l'aide de CMD :
Voici quelques exemples pour obtenir et définir des clés API par programmation :
# Get Environment Variable
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
# Set Environment Variable
var setKey = Environment . SetEnvironmentVariable ( " SENDGRID_API_KEY " , " YOUR_API_KEY " ) ;
Pour utiliser Twilio SendGrid dans votre projet C#, vous pouvez soit télécharger les bibliothèques Twilio SendGrid C# .NET directement depuis notre référentiel Github, soit si le gestionnaire de packages NuGet est installé, vous pouvez les récupérer automatiquement :
dotnet add package SendGrid
# use Twilio SendGrid with HttpClientFactory
dotnet add package SendGrid.Extensions.DependencyInjection
Une fois la bibliothèque Twilio SendGrid installée, vous pouvez inclure des appels vers celle-ci dans votre code. Pour obtenir des exemples d’implémentations, consultez les dossiers Exemple .NET Core et Exemple .NET 4.5.2.
Veuillez consulter le fichier .csproj.
Voici le code minimum nécessaire pour envoyer un simple e-mail. Utilisez cet exemple et modifiez les variables apiKey
, from
et 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 ) ;
}
}
Après avoir exécuté le code ci-dessus, response.StatusCode
devrait être 202
et vous devriez avoir un e-mail dans la boîte de réception to
destinataire. Vous pouvez vérifier l'état de votre e-mail dans l'interface utilisateur. Alternativement, nous pouvons publier des événements sur une URL de votre choix à l'aide de notre Webhook d'événements. Cela vous donne des données sur les événements qui se produisent lorsque Twilio SendGrid traite votre e-mail.
Pour les cas plus avancés, vous pouvez créer vous-même l'objet SendGridMessage avec ces paramètres minimum requis :
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 ) ;
}
}
Vous pouvez trouver un exemple de toutes les fonctionnalités de messagerie ici.
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 est requis
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 ) ;
Ou lors de l'utilisation de DependencyInjection
services . AddSendGrid ( options =>
{
options . ApiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
} )
. ConfigurePrimaryHttpMessageHandler ( _ => new HttpClientHandler ( )
{
Proxy = new WebProxy ( new Uri ( " http://proxy:1337 " ) ) ,
UseProxy = true
} ) ;
Voici quelques exemples de cas d'utilisation courants de l'API, tels que la façon d'envoyer un e-mail avec un modèle transactionnel.
Nous encourageons la contribution à notre bibliothèque (vous pourriez même gagner de jolis cadeaux), veuillez consulter notre guide CONTRIBUER pour plus de détails.
Liens rapides :
Veuillez consulter notre guide de dépannage pour les problèmes courants de bibliothèque.
sendgrid-csharp est géré et financé par Twilio SendGrid, Inc. Les noms et logos de sendgrid-csharp sont des marques commerciales de Twilio SendGrid, Inc.
Si vous avez besoin d'aide pour utiliser SendGrid, veuillez consulter le centre d'aide du support Twilio SendGrid.
La licence MIT (MIT)