このライブラリを使用すると、.NET で C# 経由で Twilio SendGrid Web API v3 をすばやく簡単に使用できます。
このライブラリのバージョン 9.X.X+ は、新しい v3 /mail/send を含む、すべての Twilio SendGrid Web API v3 エンドポイントを完全にサポートします。
このライブラリの更新については、CHANGELOG とリリースを参照してください。
今後とも変わらぬご支援を賜りますよう、よろしくお願い申し上げます。
Twilio SendGrid UI から API キーを取得します。
Twilio SendGrid API キーを環境変数または Web.config に保存して管理します。データと構成設定を分離しておくことをお勧めします。このようにして、コードを変更せずに Twilio SendGrid API キーを変更できます。また、機密データをコードに直接保存しないことを強くお勧めします。
UI を使用して環境変数を設定します。
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 " ) ;
C# プロジェクトで Twilio SendGrid を使用するには、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 Example フォルダーと .NET 4.5.2 Example フォルダーを参照してください。
.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
トレイに電子メールが届くはずです。 UI でメールのステータスを確認できます。あるいは、イベント Webhook を使用して、選択した 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
} ) ;
ここでは、トランザクション テンプレートを使用して電子メールを送信する方法など、一般的な API の使用例をいくつか示します。
私たちはライブラリへの貢献を奨励しています (素敵なグッズを獲得できるかもしれません)。詳細については、貢献ガイドをご覧ください。
クイックリンク:
一般的なライブラリの問題については、トラブルシューティング ガイドを参照してください。
sendgrid-csharp は、Twilio SendGrid, Inc. によって維持および資金提供されています。sendgrid-csharp の名前およびロゴは、Twilio SendGrid, Inc. の商標です。
SendGrid の使用に関するサポートが必要な場合は、Twilio SendGrid サポート ヘルプ センターをご確認ください。
MIT ライセンス (MIT)