SendGrid多个收件人c#

sendgrid multiple recipients c#(SendGrid多个收件人c#)
本文介绍了SendGrid多个收件人c#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此代码从Web应用程序发送电子邮件。只有一个收件人没有问题。我研究过使用来自https://sendgrid.com/docs/Integrate/Code_Examples/v3_Mail/csharp.html的相同技术向多个收件人发送电子邮件。我尝试使用逗号分隔的字符串作为Destinatario(参见代码中的参数),即you@example.com,her@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

这篇关于SendGrid多个收件人c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)