2014-07-15 77 views
0

我正在使用SendGrid在我的應用程序中發送電子郵件。現在我想每週向用戶發送電子郵件。有沒有在sendgrid中的任何功能,如果是的話那麼我怎麼可以在c中使用這個api?使用c發送來自sendgrid的計劃電子郵件#

+1

您是否檢查過Sendgrid的網站/文檔或聯繫過他們的支持? –

+0

是的,我認爲營銷電子郵件,但我仍然不知道如何在c#中使用該API# – Ancient

+2

調度電子郵件,只需搜索Azure Webjobs。 –

回答

0

UPD:從v3 API開始,Sendgrid確實支持預定的電子郵件。請參閱answer from P.Campbell

Sendgrid不會執行預定的電子郵件。

您必須自己創建計劃功能。我可以推薦看看 Azure SchedulerScheduled Azure WebJobs。預定的WebJobs與Azure Scheduler配合使用,您可以將它們編程爲定期(每週一次)執行您需要的任何操作(發送電子郵件)。

+0

我降低了你的(不可否認的是3歲的答案),因爲它是不正確的。 SendGrid已啓用在其v3 API中使用SendAt屬性的電子郵件的預定發送。我意識到當時這個答案是正確的。 –

+1

@ p.campbell更新了答案 – trailmax

0

你可以建立一個工作者角色,並且每週都運行一段時間(簡單邏輯)。它可以讀取您的網站數據庫並將電子郵件發送給您想要發送郵件的用戶。

2

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); 
相關問題