Автоматизация корпоративной подписи без групповых политик

В Microsoft Outlook корпоративную подпись сотрудникам можно добавить с помощью групповых политик. Но не везде есть возможность применять политики. Например, в Outlook Web Access или сторонних почтовых клиенты, а так же на мобильных устройствах. В этих случаях автоматизировать корпоративную подпись можно с помощью свойств профиля пользователя в Sharepoint. Эта задачу решает следующий скрипт:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery:1.10.1.min.js"></script>

<script type='text/javascript'>  
 
         
        var workEmail = "";  
        var EmployeeID = "";  
        var Division = "";  
        var userDisplayName = "";  
        var AccountName = "";  
 
        $.ajax({  
 
            url: _spPageContextInfo.webAbsoluteUrl + "/_api/SP.UserProfiles.PeopleManager/GetMyProperties",  
            headers: { Accept: "application/json;odata=verbose" },  
            success: function (data) {  
                try {  
                    //Get properties from user profile Json response  
                    userDisplayName = data.d.DisplayName;  
                    AccountName = data.d.AccountName;  
                    var properties = data.d.UserProfileProperties.results;  
                    for (var i = 0; i < properties.length; i++) {  

                        var property = properties[i];

                        if (property.Key == "WorkEmail") {  
                            workEmail = property.Value;  
                        }  
                         
                        if (property.Key == "EmployeeID") {  
                            EmployeeID = property.Value;  
                        }  
                        if (property.Key == "Division") {  
                            Division = property.Value;  
                        }  
 
                    }  
                    $('#AccountName').text(AccountName);  
                    $('#userDisplayName').text(userDisplayName);  
                    $('#EmployeeID').text(EmployeeID);  
                    $('#workEmail').text(workEmail);  
                    $('#Division').text(Division);  
                   
 
                } catch (err2) {  
                    //alert(JSON.stringify(err2));  
                }  
            },  
            error: function (jQxhr, errorCode, errorThrown) {  
                alert(errorThrown);  
            }  
        });  
 
    </script>
<h2><strong>Employee Details</strong></h2>
AccountName <span id="AccountName"></span>
DisplayName <span id="userDisplayName"></span>
EmployeeID <span id="EmployeeID"></span>
Email Address <span id="workEmail"></span>
Division <span id="Division"></span>

Скрипт необходимо добавить на страницу с помощью веб-части «Редактор сценариев» (Script Editor). После чего остается лишь создать подпись в формате HTML. В блоке

1
<h2><strong>Employee Details</strong></h2>

Далее каждый сотрудник сможет скопировать её и вставить в свой почтовый клиент.

Корпоративная подпись
Корпоративная подпись

На странице скрипта очень подробно описана его работа, там же указан список свойств профиля, которые можно использовать.

Важно! Microsoft Outlook понимает далеко не все html-теги, поэтому форматирование сложных подписей превращается в довольно трудоёмкий процесс. Как одно из ограничений: нельзя использовать вёрстку с помощь <div>, только таблицы. Существуют и другие ограничения. Данная статья содержит наиболее полную информацию по поддержке HTML\CSS в Outlook и Word. Статья написана для линейки Office 2007, но многое в ней актуальна и для 2010/2013/2016.