Pustaka ini memungkinkan Anda menggunakan Twilio SendGrid Web API v3 dengan cepat dan mudah melalui C# dengan .NET.
Versi 9.X.X+ perpustakaan ini memberikan dukungan penuh untuk semua titik akhir Twilio SendGrid Web API v3, termasuk v3 baru /mail/send.
Untuk pembaruan pada perpustakaan ini, lihat CHANGELOG dan rilis kami.
Kami menghargai dukungan Anda yang berkelanjutan, terima kasih!
Ambil Kunci API Anda dari UI Twilio SendGrid.
Kelola Kunci API Twilio SendGrid Anda dengan menyimpannya di Variabel Lingkungan atau di Web.config. Merupakan praktik yang baik untuk memisahkan data dan pengaturan konfigurasi Anda. Dengan cara ini Anda dapat mengubah kunci API Twilio SendGrid tanpa mengubah kode Anda. Selain itu, kami sangat menyarankan untuk tidak menyimpan data sensitif secara langsung di kode Anda.
Siapkan Variabel Lingkungan menggunakan UI:
Atur Variabel Lingkungan menggunakan CMD:
Berikut beberapa contoh untuk mendapatkan dan menyetel Kunci API secara terprogram:
# Get Environment Variable
var apiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
# Set Environment Variable
var setKey = Environment . SetEnvironmentVariable ( " SENDGRID_API_KEY " , " YOUR_API_KEY " ) ;
Untuk menggunakan Twilio SendGrid dalam proyek C# Anda, Anda dapat mengunduh pustaka Twilio SendGrid C# .NET langsung dari repositori Github kami atau jika Anda telah menginstal manajer paket NuGet, Anda dapat mengambilnya secara otomatis:
dotnet add package SendGrid
# use Twilio SendGrid with HttpClientFactory
dotnet add package SendGrid.Extensions.DependencyInjection
Setelah Anda menginstal perpustakaan Twilio SendGrid, Anda dapat memasukkan panggilan ke perpustakaan tersebut dalam kode Anda. Untuk contoh implementasi, lihat folder Contoh .NET Core dan folder Contoh .NET 4.5.2.
Silakan lihat file .csproj.
Berikut ini adalah kode minimum yang diperlukan untuk mengirim email sederhana. Gunakan contoh ini, dan ubah variabel apiKey
, from
dan 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 ) ;
}
}
Setelah menjalankan kode di atas, response.StatusCode
seharusnya 202
dan Anda harus memiliki email di kotak masuk to
. Anda dapat memeriksa status email Anda di UI. Alternatifnya, kami dapat memposting acara ke URL pilihan Anda menggunakan Webhook Acara kami. Ini memberi Anda data tentang peristiwa yang terjadi saat Twilio SendGrid memproses email Anda.
Untuk kasus lebih lanjut, Anda dapat membuat sendiri objek SendGridMessage dengan pengaturan minimum yang diperlukan berikut:
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 ) ;
}
}
Anda dapat menemukan contoh semua fitur email di sini.
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 diperlukan
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 ) ;
Atau saat menggunakan DependencyInjection
services . AddSendGrid ( options =>
{
options . ApiKey = Environment . GetEnvironmentVariable ( " SENDGRID_API_KEY " ) ;
} )
. ConfigurePrimaryHttpMessageHandler ( _ => new HttpClientHandler ( )
{
Proxy = new WebProxy ( new Uri ( " http://proxy:1337 " ) ) ,
UseProxy = true
} ) ;
Berikut beberapa contoh kasus penggunaan API yang umum, seperti cara mengirim email dengan template transaksional.
Kami mendorong kontribusi ke perpustakaan kami (Anda bahkan mungkin mendapatkan barang curian yang bagus), silakan lihat panduan KONTRIBUSI kami untuk detailnya.
Tautan cepat:
Silakan lihat panduan pemecahan masalah kami untuk masalah perpustakaan umum.
sendgrid-csharp dikelola dan didanai oleh Twilio SendGrid, Inc. Nama dan logo sendgrid-csharp adalah merek dagang dari Twilio SendGrid, Inc.
Jika Anda memerlukan bantuan dalam menggunakan SendGrid, silakan periksa Pusat Bantuan Dukungan Twilio SendGrid.
Lisensi MIT (MIT)