gpt4 book ai didi

c# - sendgrid多个收件人c#

转载 作者:行者123 更新时间:2023-12-03 17:08:55 25 4
gpt4 key购买 nike

我正在使用此代码从 Web 应用程序发送电子邮件。只有一个收件人没有问题。我研究过使用来自 https://sendgrid.com/docs/Integrate/Code_Examples/v3_Mail/csharp.html 的相同技术向多个收件人发送电子邮件。我试过用逗号分隔的字符串作为 destinatario(参见代码中的参数),即 you@example.com, she@example.com, he@example.com 但 SendGrid 只接受第一个收件人。我也尝试使用数组,但结果是相似的,SG 只接受最后一个收件人。传递收件人列表的正确方法是什么?

public class email
{
public void enviar(string destinatario, string asunto, string contenido)
{
Execute(destinatario, asunto, contenido).Wait();
}

static async Task Execute(string destinatario, string asunto, string contenido)
{
string apiKey = "SG...............";
dynamic sg = new SendGridAPIClient(apiKey);

Email from = new Email("someone@example.com");
string subject = asunto;
Email to = new Email(destinatario);
Content content = new Content("text/plain", contenido);

Mail mail = new Mail(from, subject, to, content);
dynamic response = await sg.client.mail.send.post(requestBody: mail.Get());
}


}

最佳答案

您需要添加 个性化 列表。以下代码对我有用。

var apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
var client = new SendGridClient(apiKey);
var msg = new SendGridMessage()
{
From = new EmailAddress("sender@email.com", "Sender Name"),
Subject = "Subject",
PlainTextContent = "Text for body",
HtmlContent = "<strong>Hello World!",
Personalizations = new List<Personalization>
{
new Personalization
{
Tos = new List<EmailAddress>
{
new EmailAddress("abc@email.com", "abc"),
new EmailAddress("efg@email.com", "efg")
}
}
}
};

var response = await client.SendEmailAsync(msg);

更多详情请查看以下 Mail Send

关于c# - sendgrid多个收件人c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38725978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com