c# - 如何从 c# 中的 sendEmail 函数中排除或删除特定的电子邮件地址
问题描述
我正在尝试从抄送电子邮件地址列表中删除或排除几个特定的电子邮件地址。我该怎么做?这是功能:
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 中的内容添加到您的电子邮件中
推荐阅读
- php - 我在哪里可以从 Laravel 的请求类中获取所有函数的列表?
- python - 使用 python BeautifulSoup 获取在嵌套 Div 标记中找到的文本
- excel - VBA 中的网页抓取
- javascript - 使用 worker_threads 处理多维数组
- kubernetes - uid:无法进行端口转发:使用intellij idea远程调试时找不到socat
- javascript - React Native - useRef 在 RNCamera 上给出空值
- visual-studio-code - 如何在 vscode 中编辑工具提示不透明度?(如何更改智能感知建议透明度)
- python - django rest 框架 - 用户名字段未以可浏览的 api html 表单呈现
- javascript - Parceljs 编译的代码在 IE 中不起作用
- node.js - 自增序列字段均值堆栈