我正在使用SendGrid在我的应用程序中发送电子邮件。现在我想每周向我的用户发送电子邮件。 sendgrid中是否有任何功能可用,如果是,那么我如何在c#
中使用该api答案 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 Scheduler和Scheduled Azure WebJobs。计划的WebJobs与Azure Scheduler配合使用,您可以对它们进行编程,以便定期(每周一次)执行您需要的任何操作(发送电子邮件)。
击>