我在C#中有一个配置引擎,可以用MS Graph创建新的MS Teams。每当将用户添加到团队(在Teams Client内部)时,他都会收到2条邀请邮件-1条发送给O365 Group,1条发送给Teams本身。
通过从PnP Core Unified Groups Utility中获取的自定义代码(ResourceBehaviorOptions-> WelcomeEmailDisabled)禁用了O365组邮件:
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)
};
受此Graph Issue的启发。
然后将Teams Team添加到组中,但是似乎没有设置或属性可以禁用Teams内部的邮件发送。
我也知道这个PowerShell命令,它在afaik中也做同样的事情
Set-UnifiedGroup -Identity "groupname" -UnifiedGroupWelcomeMessageEnable:$false
并尝试禁用“发邮件”
MailEnabled = false,
但是,所有这些仅禁用从O365组发送的第一封邮件,主题为“用户xy已将您添加到yz组”(大致翻译为德语)以及指向Outlook组的链接。 它不会禁用来自Teams的第二封邮件“您已被添加到Microsoft Teams中的团队”,并带有在Teams Client中打开它的链接。
是否有一些新的Graph Property或C#命令将禁用所有邀请邮件?如果没有其他方法起作用,那么如果有任何命令有效,我将尝试集成PowerShell命令。
编辑:实际上,这似乎是一个错误,如this Uservoice和接受的答案所示。
答案 0 :(得分:0)
创建统一组时,可以使用参数“ UnifiedGroupWelcomeMessageEnabled
”禁用欢迎电子邮件-默认情况下处于启用状态。因此,您可以首先创建统一组并将其设置为$ false,然后使用Teams PowerShell cmdlet将这些组转换为团队。
New-Team -Group <GroupId of the group you just created>
有关更多信息,请查看SetUnifiedGroup。
答案 1 :(得分:0)
您似乎已在我们现有的API中发现了一个空白。我可以确认,我们目前不允许在台式机/ Web客户端以及通过Graph API禁止来自Microsoft Teams的“添加到团队”电子邮件。
我们已经注意到了这一要求,并了解了您要设计的方案。目前,我们想请您在UserVoice中分享此反馈,以帮助我们更好地确定在将来的版本中添加此功能的优先级。
欢呼 -Phecda Louie(Microsoft Teams PM)