我在 C# 中有一个配置引擎,可以使用 MS Graph 创建新的 MS 团队。每当将用户添加到团队(在团队客户端内)时,他都会收到 2 封邀请邮件 - 一封给 O365 组,一封给团队本身。
O365 组邮件已通过从 PnP 核心统一组实用程序获取的自定义代码 (ResourceBehaviorOptions -> WelcomeEmailDisabled) 禁用:
class ExtendedO365Group : Microsoft.Graph.Group
{
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Ignore, PropertyName = "resourceBehaviorOptions")]
public string[] ResourceBehaviorOptions { get; set; }
[JsonProperty("owners@odata.bind", NullValueHandling = NullValueHandling.Ignore)]
public string[] OwnersODataBind { get; set; }
[JsonProperty("members@odata.bind", NullValueHandling = NullValueHandling.Ignore)]
public string[] MembersODataBind { get; set; }
}
[...]
var newGroup = new ExtendedO365Group
{
DisplayName = displayName,
Description = description,
MailNickname = mailNickname,
MailEnabled = true,
SecurityEnabled = false,
Visibility = isPrivate == true ? "Private" : "Public",
GroupTypes = new List<string> { "Unified" },
ResourceBehaviorOptions = (disableWelcomeMail ? new string[] { "WelcomeEmailDisabled" } : null)
};
受此图表问题的启发。
然后稍后将团队团队添加到组中,但似乎没有设置或属性来禁用团队内部的邮件。
我也知道这个 PowerShell 命令,它做同样的事情 afaik
Set-UnifiedGroup -Identity "groupname" -UnifiedGroupWelcomeMessageEnable:$false
并尝试禁用邮件
MailEnabled = false,
但是所有这一切只禁用了从 O365 组发送的第一封邮件,主题为“用户 xy 已将您添加到组 yz”(大致翻译自德语)和 Outlook 组的链接。它不会禁用来自 Teams 的第二封邮件“您已被添加到 Microsoft Teams 中的团队”,其中包含在 Teams 客户端中打开它的链接。
是否有一些新的图形属性或 C# 命令将禁用所有邀请邮件?如果没有其他工作,我会尝试集成一个 PowerShell 命令,如果有一个工作。
编辑:看起来这确实是这个 Uservoice和接受的答案中看到的错误。