You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Identity单个邮箱字段能否添加多邮箱实现批量发送?

关于Microsoft Identity批量发送邮件的问题

Microsoft Identity默认的用户模型(IdentityUser)里的Email属性是为单个邮箱地址设计的,不支持直接在该字段存储多个分号分隔的邮箱。但你完全可以自行实现批量发邮件的逻辑,无需依赖Identity的字段限制,具体修改方案如下:

实现步骤

  • 将分号分隔的邮箱字符串拆分为单个邮箱地址的集合
  • 遍历集合,逐个添加到邮件的收件人列表
  • 可选:添加邮箱格式验证,避免无效地址导致发送失败

修改后的代码示例

using (var smtp = new System.Net.Mail.SmtpClient("ip address here"))
{
    var emailMessage = new MailMessage();
    emailMessage.From = new MailAddress("email@gmail.com");
    
    // 拆分分号分隔的邮箱字符串,过滤空值与空白字符
    var emailList = email.Split(';')
                        .Select(e => e.Trim())
                        .Where(e => !string.IsNullOrEmpty(e));
    
    foreach (var singleEmail in emailList)
    {
        // 可选:验证邮箱格式合法性
        if (System.Net.Mail.MailAddress.TryCreate(singleEmail, out _))
        {
            emailMessage.To.Add(singleEmail);
        }
    }

    emailMessage.Subject = "新文档已上线!";
    emailMessage.Body = "您有一份新的采购订单可在门户中查看!";

    await smtp.SendMailAsync(emailMessage);
}

额外说明

如果业务需要长期存储多个收件邮箱,建议不要复用Identity的Email字段,而是单独创建存储收件人列表的表或字段,这样更符合数据设计规范,也便于后续维护。

内容的提问来源于stack exchange,提问作者Megan Paterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:10:27