Существует интересный продукт Mailrise, с помощью которого можно email сообщения пересылать в другие каналы связи. В качестве такого канала может выступать любой современный мессенджер: Telegram, Discord, Whatsapp и многие другие. Поддерживаются практически все современные приложения. Но не только они. Помимо мессенджеров поддерживаются и другие продукты, протоколы, технологии.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Введение
Mailrise создан на основе Apprise и поддерживает все каналы уведомлений, что и он. Mailrise поднимается как обычный SMTP сервер. Принимает сообщения и переадресует их в зависимости от настроек в необходимые каналы уведомлений. И речь тут может идти не только об уведомлениях в мессенджеры, смс, пуши и т.д. Например, mailrise может отправить email в формате JSON через HTTP POST запрос. Может в Syslog сделать запись с заголовком и текстом письма, может переслать на другой SMTP сервер. Продукт универсальный.
Насколько я понимаю, основное применение - отправка уведомлений с тех устройств и систем, которые кроме email ничего не умеют отправлять. Какие-нибудь свитчи, принтеры, может ещё что-то.
Установка Mailrise
Покажу на примере, как это работает. Для начала установим Mailrise. Сделать это можно либо через pip, либо запустить в Docker. Я беру второй вариант, поэтому сразу подготовим конфигурационный файл, который мы передадим в контейнер.
Я буду принимать почту и отправлять уведомление в Telegram и Syslog. Для этого готовлю такой конфиг mailrise.conf в формате yaml :
configs: telegram: urls: - tgram://1393668911:AAHtETAKqxUH8ZpyC28R-wxKfvH8WR6-vdNw/211805263 rsyslog: urls: - rsyslog://172.30.245.222
Запускаю контейнер с указанным конфигом:
# docker run -d -p 8025:8025 --restart always \ -v ~/mailrise/mailrise.conf:/etc/mailrise.conf \ --name mailrise \ yoryan/mailrise
Почтовый сервер готов принимать почту на порту 8025. Отправляю тестовое сообщение. Проще всего это сделать через PowerShell:
> send-mailmessage -from "admin@local" -to "Telegram <telegram@mailrise.xyz>","Rsyslog <rsyslog@mailrise.xyz>" -subject "Message from Mailrise" -body "Test Message" -smtpserver 172.30.245.222 -port 8025
В данном случае адреса telegram@mailrise.xyz и rsyslog@mailrise.xyz вымышленные. Имеет значение только название перед @. Оно должно соответствовать названиям конфигов в mailrise.conf. То есть если отправить почту только на telegram@mailrise.xyz, то оповещение придёт только в Telegram. То есть вот так:
> send-mailmessage -from "admin@local" -to "Telegram <telegram@mailrise.xyz>" -subject "Message from Mailrise" -body "Test Message" -smtpserver 172.30.245.222 -port 8025
Отправка почты в Mailrise
В Linux через консоль с указанием релея отправки проще всего использовать ssmtp. Для этого её надо установить и нарисовать простой конфиг:
# apt install ssmtp
В конфиг /etc/ssmtp/ssmtp.conf пишем:
root=admin@local mailhub=172.30.245.222:8025 hostname=debian12.homelab.local
Отправляем почту через mailrise:
# echo "Test Message" | mail -s "Message from Mailrise" telegram@mailrise.xyz rsyslog@mailrise.xyz
Оповещение прилетит в Telegram и Rsyslog. В последнем будет примерно такая запись в логе:
2024-04-25T14:55:20.717270+03:00 172.17.0.2 - 1 - Message from Mailrise (admin@local): Test Message
Соответственно, можно указать отдельный facility и настроить в rsyslog.conf приём этих уведомлений в отдельный файл.
Подобным образом можно настраивать любой тип уведомлений, которые поддерживает Apprise. По мне так очень простое и функциональное решение. Понятно, что оно не везде нужно. Лишнюю прослойку без нужды не стоит использовать. Но в целом сделано неплохо.
Если нужна аутентификация, то добавить её можно следующими настройками в конфиге mailrise:
smtp: auth: basic: user01: password01
Я проверил работу mailrise. В целом, всё работает. Настраивается легко и быстро. Не нужно помнить API отдельных сервисов, чтобы отправлять туда уведомления. Программа делает всё это за нас. Достаточно заполнить небольшой конфиг для каждого публичного сервиса или локальной службы.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.