[英]How to exclude or remove a specific e-mail address from a sendEmail function in c#
I'm trying to remove or exclude a couple specific e-mail addresses from the CC e-mail address list.我正在尝试从 CC 电子邮件地址列表中删除或排除几个特定的电子邮件地址。 How should I do this?
我应该怎么做? Here is the function:
这是 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;
}
}
You put the emails you don't want into an array:您将不需要的电子邮件放入数组中:
var badEmails = new [] { "a@a.aa", "b@b.bb" }
Then you use LINQ to remove them from the split:然后使用 LINQ 将它们从拆分中删除:
var ccList = emailCc.Split(';').Where(cc => !badEmails.Any(b => cc.IndexOf(b, System.StringComparison.InvariantCultureIgnoreCase) > -1));
Then you add those in ccList to your email然后将 ccList 中的那些添加到您的 email
You can try with this if you know 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()));
}
}
instead of if statement you can use regular expression if you want to exclude some email with specific pattern.如果您想排除某些具有特定模式的 email,则可以使用正则表达式而不是 if 语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.