使用c#从sendgrid发送日程邮件

本文关键字:程邮件 sendgrid 使用 | 更新日期: 2023-09-27 18:12:51

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

使用c#从sendgrid发送日程邮件

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不处理预定的电子邮件。

你必须自己创建时间表功能。我可以推荐您查看Azure Scheduler和Scheduled Azure WebJobs。Scheduled WebJobs与Azure Scheduler配合使用,你可以定期(每周一次)对它们进行编程,让它们做任何你需要做的事情(发送电子邮件)。

您可以构建一个工作者角色,并指定每周运行的时间(简单的逻辑)。它可以读取您的网站数据库,并将电子邮件发送给您想要发送邮件的用户。