【发布时间】:2019-11-14 10:35:19
【问题描述】:
所以我将使用 SendGrid 来提供我的电子邮件服务,当我发送电子邮件时,如果电子邮件成功排队,我的响应对象会创建一个 X-Message-Id。但是,这并不能解释退回的电子邮件。
static async Task SendEmail()
{
var apiKey = ConfigurationManager.AppSettings["apiKey"];
var client = new SendGridClient(apiKey);
var from = new EmailAddress("test@example.com", "Example User");
var subject = "Hello World from the Twilio SendGrid CSharp Library Helper!";
var to = new EmailAddress("testUser@recipient.com", "Jeeno");
var plainTextContent = "Hello, Email from the helper [SendSingleEmailAsync]!";
var htmlContent = "<strong>Hello, Email from the helper! [SendSingleEmailAsync]</strong>";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
var response = await client.SendEmailAsync(msg);
Console.WriteLine(msg.Serialize());
Console.WriteLine("============================================1");
Console.WriteLine(response.StatusCode);
Console.WriteLine("============================================2");
Console.WriteLine(response.Headers);
Console.WriteLine("============================================3");
Console.WriteLine("\n\nPress <Enter> to continue.");
Console.ReadLine();
}
我想创建一个计划任务,然后查询所有退回的电子邮件并根据该 ID 或任何 ID 将它们拉回。但是,当针对退回的电子邮件点击 sendgrip api 端点时,我只会得到一个带有时间戳、电子邮件字符串、原因字符串和状态字符串的响应对象。有没有办法根据Message Id查询?
static async Task Execute()
{
var apiKey = ConfigurationManager.AppSettings["apiKey"];
var client = new SendGridClient(apiKey);
string queryParams = @"{
}";
var response = await client.RequestAsync(method: SendGridClient.Method.GET, urlPath: "/suppression/bounces", queryParams: queryParams);
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.ReadAsStringAsync().Result);
Console.WriteLine(response.Headers.ToString());
Console.ReadLine();
}
【问题讨论】:
标签: c# sendgrid sendgrid-api-v3