Как настроить оповещения по электронной почте/в Телеграме в системе Linux с помощью CUPS?

  • 14 ноября 2023 г. 14:42
Ответы на вопрос 2
Для настройки оповещений по электронной почте/в Телеграме в системе Linux с помощью CUPS (Система печати Unix) необходимо выполнить следующие действия:

1. Установить CUPS, если он еще не установлен:
   - В Ubuntu/Debian: `sudo apt-get install cups`
   - В CentOS/RHEL: `sudo yum install cups`
   - В Fedora: `sudo dnf install cups`

2. Установить утилиту для отправки электронной почты и/или Телеграма. Например, для отправки почты можно использовать `ssmtp`, `msmtp` или другие аналогичные утилиты. Для отправки уведомлений в Телеграм можно использовать `telegram-send`.

3. Настроить утилиту для отправки электронной почты. Для этого создайте конфигурационный файл со следующим содержимым:
   ```
   # Ваш почтовый сервер и порт
   mailhub=smtp.example.com:587

   # Ваше имя пользователя и пароль
   AuthUser=username
   AuthPass=password

   # Запускать почтовый сервер через TLS
   UseSTARTTLS=YES
   ```

   Сохраните файл, например, как `/etc/ssmtp/ssmtp.conf`.

4. Настроить CUPS для отправки оповещений по электронной почте. Отредактируйте файл `/etc/cups/cups-files.conf` и установите следующие значения:
   ```
   # Раскомментируйте и установите значение на "Yes" или "Email"
   SystemGroup sys root operator

   # Установите значение на "Yes"
   # (для использования файловой системы)
   # или "No" (для использования электронной почты)
   # или "Both" (для использования и файловой системы и почты)
   NotifyClasses All
   ```

5. Перезапустите CUPS:
   - В Ubuntu/Debian: `sudo systemctl restart cups`
   - В CentOS/RHEL: `sudo systemctl restart cups`
   - В Fedora: `sudo systemctl restart cups`

6. Протестируйте отправку оповещений. Для этого выполните команду `lp -d <printer_name> testfile.txt`, где `<printer_name>` - название вашего принтера, а `testfile.txt` - имя файла для печати.

7. Если у вас несколько принтеров, то для каждого принтера необходимо выполнить шаги с 4 по 6.

Теперь при печати на принтер будет отправляться оповещение по электронной почте и/или в Телеграм (в зависимости от настройки утилиты для отправки уведомлений).
Установите в конфигурации CUPS подходящую для вашего случая политику обработки ошибок, чтобы избежать необходимости, чтобы системный администратор вмешивался и очищал очередь печати или перезапускал сервис CUPS. По умолчанию, политика ошибок задана как "stop-printer", это означает, что неудачная печатная задача приведет к остановке принтера. Однако, вы можете выбрать политику "abort-job", чтобы неудачная задача была просто отменена (удалена), "retry-current-job", чтобы неудачная задача была повторно попытана в том же моменте, "retry-job", чтобы неудачная задача была повторно попытана позже, или указать другую политику специально для вашего принтера.
Похожие вопросы