添加 cc 和 bcc 时无法通过发送网格发送电子邮件

Posted

技术标签:

【中文标题】添加 cc 和 bcc 时无法通过发送网格发送电子邮件【英文标题】:Not able to send emails through send grid when i add cc and bcc 【发布时间】:2021-06-23 03:25:30 【问题描述】:

我尝试发送电子邮件通知到列表、抄送列表和密件抄送列表,但我收到错误提示错误请求和成功代码为假。

如果我不添加抄送、密送列表,我可以发送电子邮件。你能帮我解决这个问题吗

var apiKey = "SG.xxxxxxxxxxxxxxxxxxxxxxxx"; //Environment.GetEnvironmentVariable("NAME_OF_THE_ENVIRONMENT_VARIABLE_FOR_YOUR_SENDGRID_KEY"); var client = new SendGridClient(apiKey); var msg = new SendGridMessage();

        msg.From = new EmailAddress("xxxxxx@nidec-motor.com", "TechM");
        msg.Subject = "Test email";
        msg.PlainTextContent = "Sendgrid test email";
        msg.htmlContent = "<strong>Hello World!";
        msg.Personalizations = new List<Personalization>
            
            new Personalization
            
                  Tos = new List<EmailAddress>
                  
                       new EmailAddress("xxxxxx@gmail.com", "Eswar"),
                       new EmailAddress("xxxx@techmahindra.com", "Test User-Eswar")
                  ,
                  Ccs= new List<EmailAddress>()
                  
                         new EmailAddress("xxxx@TechMahindra.com", "Eswar"),
                       new EmailAddress("xxxx@techmahindra.com", "Test User-Eswar") 
                  ,
                  Bccs=new List<EmailAddress>()
                  
                         new EmailAddress("xxx@gmail.com", "Eswar"),
                       new EmailAddress("xxx@techmahindra.com", "Test User-Eswar")
                  
            

        ;

        var response = await client.SendEmailAsync(msg);
        var test = response.IsSuccessStatusCode;
    

【问题讨论】:

你不能在抄送处传递空列表,例如:Ccs= new List&lt;EmailAddress&gt;() 吗? 这里的问题是,为什么我无法发送带有 cc list 和 bcc list 的电子邮件?如果我删除 cc,bcc 列出它可以正常工作。 【参考方案1】:

当三个中的任何一个都丢失时,sendgrid 不会发送电子邮件,例如to, cc, bcc。要么,您必须包括所有三个才能工作或消除 Email List 中的密钥。

例如:这就是我在JS 中的做法,其中tobcccc 键只有在给出一些数据时才会被添加。

const sendEmailObj = 
      from: `goutham`,
      ...(to !== '' && to: to?.split(',')),
      ...(ccEmailAddress !== '' && cc: ccEmailAddress?.split(',')),
      ...(bccEmailAddress !== '' && bcc: bccEmailAddress?.split(',')),
      template: 'temaplate-id',
      subject: `Sendgrid Working`,
      context: 
        message: 'Hello world!'
      ,
    ;

【讨论】:

以上是关于添加 cc 和 bcc 时无法通过发送网格发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

python:如何使用TO,CC和BCC发送邮件?

text Laravel用CC,BCC发送电子邮件

SendGrid Cc 和 Bcc 在 PHP 上不起作用

使用 PHP PEAR MAIL 发送多个 CC 和 BCC

Pear PHP Mail 发送 CC 似乎不起作用

通过密件抄送发送邮件时 MailCore 中的错误