如何在以编程方式将用户添加到组时通知用户

How to notify user when programatically adding them to a group

我正在使用以下代码向群组添加成员。

我的问题很简单:

使用此代码添加成员时,受邀者不会收到电子邮件通知。但是,当从 UI 执行相同操作时,可以选择通知用户。我如何从代码中做到这一点?

public void UpdateGoupMembers(string groupName, List<string> loginNames)
{
    using (var clientContext = new ClientContext(baseUrl))
    {
        clientContext.Credentials = credentials;
        var web = clientContext.Web;

        var group = web.SiteGroups.GetByName(groupName);

        if (group != null)
        {
            foreach (var loginName in loginNames)
            {
                var user = web.EnsureUser(loginName);

                if (user != null)
                {
                    group.Users.AddUser(user);
                }
            }

            var existingUsers = group.Users;

            clientContext.Load(existingUsers, includes => includes.Include(
                f => f.LoginName,
                f => f.UserId,
                f => f.PrincipalType,
                f => f.Email,
                f => f.Id));

            clientContext.ExecuteQuery();

            foreach (var existingUser in existingUsers)
            {
                var userName = existingUser.LoginName.Split('|')[2];
                if (!loginNames.Contains(userName))
                {
                    group.Users.RemoveByLoginName(existingUser.LoginName);
                }
            }
        }

        clientContext.ExecuteQuery();
    }
}

我不认为在基于方法 documentation 以编程方式将用户添加到组时可以发送欢迎电子邮件。

但是,您可以使用 CSOM 库在将特定用户添加到群组后以编程方式向其发送电子邮件。 Send Emails via SharePoint CSOM 将是有关如何执行此操作的重要参考。