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

时间:2018-06-04 07:34:08

标签: c# sharepoint csom

我正在使用以下代码将成员添加到组中。

我的问题很简单:

使用此代码添加成员时,受邀人员不会收到通知他们的电子邮件。但是,当从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();
    }
}

1 个答案:

答案 0 :(得分:1)

我不相信当用户以方法documentation为基础以编程方式添加到组中时,可以发送欢迎电子邮件。

但是,您可以使用CSOM库将特定用户添加到组后以编程方式发送电子邮件。 Send Emails via SharePoint CSOM将是如何做到这一点的一个很好的参考。