# Отправка почтовых уведомлений

SDK API Plesk дает вам возможность отправлять персонализированные почтовые уведомления. Уведомление SDK API состоит из двух частей:

- Хук, который описывает список уведомлений с настройками по умолчанию. Эти настройки можно изменить в Plesk (Инструменты и настройки => Уведомления).

- Менеджер (класс `pm_Notification`) предоставляет метод `send()` для отправки уведомлений.

## Примеры

Чтобы задать настройки уведомлений по умолчанию:

`plib/hooks/Notifications.php`

    class Modules_WpToolkit_Notifications extends pm_Hook_Notifications
    {
        public function getNotifications()
        {
            return [
                'domain_create' => [
                    'title' => '',                                   // notification's title which admin sees in UI
                    'notifyAdmin' => true,                           // by default notify admin
                    'notifyResellers' => false,                      // by default notify resellers
                    'notifyClients' => false,                        // by default notify clients
                    'notifyCustomEmail' => false,                    // by default send notification to a custom email
                    'customEmail' => '',                             // custom email address to notify
                    'subject' => 'Custom Subject <testsubjecttag>',  // subject of email (placeholders allowed)
                    'message' => 'Custom Body <testbodytag>'         // email's body (placeholders allowed)
                ]
            ];
        }
    }

Эти настройки можно изменить в Plesk (Инструменты и настройки => Уведомления).

Чтобы отправить уведомление:

    $notification = new \pm_Notification();
    $recipients = $notification->send('domain_create');

Чтобы отправить клиенту уведомление с замещающими символами (Клиент получит его, только если настройка `notifyClients` имеет значение true):

    $notification = new \pm_Notification();
    $recipients = $notification->send(
        'domain_create',
        [
            'testsubjecttag' => 'Subject Placeholder',
            'testbodytag' => 'Body Placeholder',
        ],
        new \pm_Client(3)
    );