簡體   English   中英

如何從 c# 中的 sendEmail function 中排除或刪除特定的電子郵件地址

[英]How to exclude or remove a specific e-mail address from a sendEmail function in c#

我正在嘗試從 CC 電子郵件地址列表中刪除或排除幾個特定的電子郵件地址。 我應該怎么做? 這是 function:

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;
   }
}

您將不需要的電子郵件放入數組中:

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 中的那些添加到您的 email

如果你知道 email,你可以試試這個:

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()));
    }
            
}

如果您想排除某些具有特定模式的 email,則可以使用正則表達式而不是 if 語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM