如何从C#中的sendEmail函数中排除或删除特定的电子邮件地址

我正在尝试从CC电子邮件地址列表中删除或排除几个特定的​​电子邮件地址。我应该怎么做?这是函数:

private void SendEmail(string emailTo,string subject,string body)
{
    using (SmtpClient client = new SmtpClient(System.Configuration.Configurationmanager.AppSettings["SmtpServerAddress"]))
    {
        MailMessage email = new MailMessage();
        email.From = new mailaddress(GetUserEmail());
        string emailCc = Configurationmanager.AppSettings["EmailCc"];
        foreach (var item in emailTo.Split(';'))
        {
            email.To.Add(new mailaddress(item.Trim()));
        }
        foreach (var item in emailCc.Split(';'))
        {
            email.CC.Add(new mailaddress(item.Trim()));
        }
        email.Subject = subject;
        email.IsBodyHtml = true;
        email.Body = body;

        return;
   }
}
iCMS 回答:如何从C#中的sendEmail函数中排除或删除特定的电子邮件地址

您将不需要的电子邮件放入数组:

var badEmails = new [] { "a@a.aa","b@b.bb" }

然后使用LINQ将其从拆分中删除:

var ccList = emailCc.Split(';').Where(cc => !badEmails.Any(b => cc.IndexOf(b,System.StringComparison.InvariantCultureIgnoreCase) > -1));

然后将ccList中的内容添加到电子邮件中

,

如果您知道电子邮件,可以尝试以下方法:

foreach (var item in emailCc.Split(';'))
{
    if (!new string[] { "bad@gmail.com","uncle@sam.com","stack@overflow.com"}.Contains(email))
    {
        email.CC.Add(new MailAddress(item.Trim()));
    }
            
}

如果要排除某些具有特定模式的电子邮件,可以使用正则表达式来代替if语句。

本文链接:https://www.f2er.com/1839757.html

大家都在问