ไลบรารีนี้ช่วยให้คุณใช้ Twilio SendGrid Web API v3 ผ่าน C# กับ .NET ได้อย่างรวดเร็วและง่ายดาย
เวอร์ชัน 9.X.X+ ของไลบรารีนี้ให้การสนับสนุนอย่างเต็มที่สำหรับตำแหน่งข้อมูล Twilio SendGrid Web API v3 ทั้งหมด รวมถึง v3 ใหม่ /mail/send
สำหรับการอัปเดตไลบรารีนี้ โปรดดู CHANGELOG และการเผยแพร่ของเรา
ขอขอบคุณสำหรับการสนับสนุนอย่างต่อเนื่องของคุณ ขอขอบคุณ!
รับคีย์ API ของคุณจาก Twilio SendGrid UI
จัดการคีย์ 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 " ) ;
หากต้องการใช้ 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
ผู้รับ คุณสามารถตรวจสอบสถานะอีเมลของคุณได้ใน UI หรืออีกทางหนึ่ง เราสามารถโพสต์กิจกรรมไปยัง URL ที่คุณเลือกได้โดยใช้ Event Webhook ของเรา ข้อมูลนี้จะให้ข้อมูลเกี่ยวกับเหตุการณ์ที่เกิดขึ้นเมื่อ 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 Support
ใบอนุญาต MIT (MIT)