Azure AD/Office 365 双域名创建同名邮件前缀组及Graph API报错问询
Azure AD创建同前缀不同域名组报错解决方案
错误根因
Azure AD租户范围内,所有启用邮件的对象(用户、组、通讯列表等)的mailNickname属性要求全局唯一,该属性的唯一性校验和当前租户默认域名无关。你两次创建组时都固定将MailNickname赋值为support,第一个组创建成功后该值就被占用,第二个组创建自然触发重复值报错。
另外你使用切换租户默认域名的方式来生成不同后缀的组邮箱,属于没必要的全局操作,会影响租户内所有新创建用户、组的默认邮箱后缀,存在业务影响风险。
修复方案
你可以直接在创建组时显式指定完整的Mail属性值,不需要依赖默认域名拼接生成邮箱,同时给两个组设置不同的MailNickname值满足唯一性要求即可,无需修改租户全局配置。
修改后代码示例
public async Task CreateSupportGroups() { // 创建domainA对应支持组 await AddNewGroup("Support group for Domain A", "support-domainA", "support@domainA.com"); // 创建domainB对应支持组 await AddNewGroup("Support group for Domain B", "support-domainB", "support@domainB.com"); } // 新增入参:唯一邮箱别名、完整目标邮箱地址 public async Task AddNewGroup(String groupName, string mailNickname, string fullMailAddress) { var group = new Group { Description = "Testgroup", DisplayName = groupName, GroupTypes = new List<String>() { "Unified" }, MailEnabled = true, MailNickname = mailNickname, Mail = fullMailAddress, SecurityEnabled = false, Visibility = "Private" }; await graphClient.Groups .Request() .AddAsync(group); }
注意事项
你使用的两个域名必须已经在Azure AD租户中完成验证,且未被配置为禁止用于组邮箱,否则显式指定Mail属性时会触发域名不合法报错。
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

