簡體   English   中英

使用C#從sendgrid發送計划電子郵件

[英]Send schedule emails from sendgrid using c#

我正在使用SendGrid在我的應用程序中發送電子郵件。 現在,我想每周發送一次電子郵件給我的用戶。 sendgrid中是否有任何可用功能,如果是,那么我如何在C#中使用該api?

SendGrid支持電子郵件的計划發送,但要額外發送一行代碼。

使用SendGridMessage.SendAt屬性。 它期望UNIX時間戳記為long

獲取或設置一個unix時間戳,使您可以指定何時希望從SendGrid發送電子郵件。 如果您希望在API請求時發送電子郵件,則沒有必要。

int sendAtUnixTime = new DateTimeOffset(sendOnUtcDateTime).ToUnixTimeSeconds();

var client = new SendGridClient("apiKey");
var from = new EmailAddress("fromEmailAddress", "fromName");
var to = new EmailAddress("toEmailAddress", "toName");
var msg = MailHelper.CreateSingleEmail(from, to, "subject", "", "bodyHtml");
msg.SendAt = sendAtUnixTime;                
var response = await client.SendEmailAsync(msg);

您可以建立輔助角色並減少每周運行的時間(簡單的邏輯)。 它可以讀取您的網站數據庫並將電子郵件發送給您要發送郵件的用戶。

UPD: Sendgrid從v3 API開始支持預定的電子郵件。 請參閱P.Campbell的回答

Sendgrid不執行計划的電子郵件。

\n

您必須自己創建計划功能。 我可以建議您查看 Azure SchedulerScheduled Azure WebJobs 預定的WebJob與Azure Scheduler結合使用,您可以對其進行編程以使其定期(每周一次)執行所需的任何操作(發送電子郵件)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM