使用c#从sendgrid发送日程邮件
本文关键字:程邮件 sendgrid 使用 | 更新日期: 2023-09-27 18:12:51
我使用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不处理预定的电子邮件。
你必须自己创建时间表功能。我可以推荐您查看Azure Scheduler和Scheduled Azure WebJobs。Scheduled WebJobs与Azure Scheduler配合使用,你可以定期(每周一次)对它们进行编程,让它们做任何你需要做的事情(发送电子邮件)。
您可以构建一个工作者角色,并指定每周运行的时间(简单的逻辑)。它可以读取您的网站数据库,并将电子邮件发送给您想要发送邮件的用户。