c# - 发送带有 SendGrid 和空值的邮件?

标签 c# asp.net-mvc-4 email sendgrid

我在 asp.net C# 中使用 SendGrid。我有发送邮件的功能

public async Task SendMail(string AddTo, string Addcc, string Subject, string Message)
{
    var myMessage = new SendGrid.SendGridMessage();
    myMessage.AddTo(AddTo);
    myMessage.AddCc(Addcc);
    myMessage.From = new MailAddress("noreply@noreply.se");
    myMessage.Subject = Subject;
    myMessage.Html = Message;

    var credentials = new NetworkCredential(
       ConfigurationManager.AppSettings["mailAccount"],
       ConfigurationManager.AppSettings["mailPassword"]
       );
    //Some validation code
}

我需要将 AddCc 添加到一些邮件,但不是全部。这很好用。

SendMail("mailadress1@gmail.com", "mailadress2@gmail.com", "Subject", "Message");

但如果不想发送 CC 则不是这个

SendMail("mailadress1@gmail.com", "null", "Subject", "Message");

或者这个

SendMail("mailadress1@gmail.com", "", "Subject", "Message");

最佳答案

尝试设置一个默认值并检查 AddCc 是否为 null:

public async Task SendMail(string AddTo, string Addcc = null, string Subject, string Message)
{
    var myMessage = new SendGrid.SendGridMessage();
    myMessage.AddTo(AddTo);
    if(AddCc != null)
    {
        myMessage.AddCc(Addcc);
    }
    myMessage.From = new MailAddress("noreply@noreply.se");
    myMessage.Subject = Subject;
    myMessage.Html = Message;

    var credentials = new NetworkCredential(
       ConfigurationManager.AppSettings["mailAccount"],
       ConfigurationManager.AppSettings["mailPassword"]
       );
    //Some validation code
}

这样你就可以这样调用它了:

SendMail("mailadress1@gmail.com", "mailadress2@gmail.com", "Subject", "Message");

没有抄送:

SendMail("mailadress1@gmail.com", "Subject", "Message");

你甚至可以这样做:

SendMail("mailadress1@gmail.com", null, "Subject", "Message");

关于c# - 发送带有 SendGrid 和空值的邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173468/

相关文章:

c# - 如何在详细 View 中为命令字段添加删除确认提示?

c# - 在 WinForm 上单击按钮后设置多个文本框可编辑

javascript - 将颜色从 View 传递给 jquery

asp.net-mvc-4 - mvc 4 bundle 和缩小 - 刷新时未获得 304(未修改)

java - 无法将悬停属性添加到自定义 HTML 邮件

email - 如何使用 Delphi 和 Synapse 一次向多个收件人发送电子邮件?

c# - 如果存在以前的版本,如何使 msi 覆盖程序?

c# - MVC4 中的 Styles.Render

android - 在 Android 中的电子邮件中嵌入图像

c# - 从 NEST C# 嵌套聚合获取 Elasticsearch 结果