使用c#从sendgrid发送日程安排电子邮件

时间:2014-07-15 06:12:44

标签: c# email azure sendgrid bulk

我正在使用SendGrid在我的应用程序中发送电子邮件。现在我想每周向我的用户发送电子邮件。 sendgrid中是否有任何功能可用,如果是,那么我如何在c#

中使用该api

3 个答案:

答案 0 :(得分:3)

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);

答案 1 :(得分:0)

您可以构建一个辅助角色并玷污每周运行的时间(简单逻辑)。它可以读取您的网站数据库并将电子邮件发送给您要邮寄的用户。

答案 2 :(得分:0)

UPD:从v3 API开始,Sendgrid确实支持预定的电子邮件。请参阅answer from P.Campbell

Sendgrid不会安排预定的电子邮件。

<击>

您必须自己创建计划功能。我建议您查看Azure SchedulerScheduled Azure WebJobs。计划的WebJobs与Azure Scheduler配合使用,您可以对它们进行编程,以便定期(每周一次)执行您需要的任何操作(发送电子邮件)。