Назад | Перейти на главную страницу

Как настроить сервер для отправки электронных писем после запуска (т.е. не в качестве почтового сервера)?

Windows Server 2012 R2 с графическим интерфейсом пользователя, система ИБП

Я настраиваю свой первый сервер. Это хост Hyper-V, на котором будет размещено несколько серверов виртуальных машин. Система находится на ИБП.

Когда ИБП обнаруживает сбой питания переменного тока, ИБП отправляет электронное письмо через почтовый сервер SMTP, расположенный в другом месте, а затем выполняет постепенное отключение сервера, если питание не восстанавливается через определенный период времени. После восстановления питания BIOS хост-компьютера настроен на автоматическую перезагрузку.

Я хотел бы получать электронные письма с различных серверов, которые они перезагрузили после восстановления питания. Мой ИБП не отправляет электронные письма при восстановлении переменного тока, но даже если бы это было, это не скажет мне, что серверы были резервные. Я бы хотел, чтобы каждый сервер отправлял электронное письмо после того, как снова подключился к сети.

Какие шаги / методики необходимо использовать для этого? Под методологиями я подразумеваю спросить, нужно ли мне писать сценарий, или есть ли встроенный инструмент для этого и т. Д.?

У меня есть информация о SMTP-сервере, порты, учетные данные для входа и т. Д., Чтобы отправить электронное письмо, я просто не понимаю, как заставить сервер делать это при включении, или каковы стандартные / лучшие практики для такого уведомления, чтобы обычно быть обработанным.

Спасибо.

Один из способов сделать это без написания сценария Powershell - использовать службу мониторинга. Есть ли у вас какой-либо тип мониторинга в настоящее время? Большинство служб мониторинга уведомляют о недоступности сервера, а затем также отправляют электронное письмо «все очищено» при резервном копировании сервера. Я использовал несколько бесплатных инструментов с открытым исходным кодом - Zabbix и Nagios. Они могут работать с установленным агентом или в безагентном режиме по протоколу SNMP. Это также инструменты ManageEngine, которые можно бесплатно использовать для контролируемых серверов до 20. https://www.manageengine.com/free-windows-health-monitor/free-windows-health-monitor-index.html

Я думаю, что этот подход лучше всего, потому что он также дает вам возможность отслеживать другие ключевые показатели (если они еще не отслеживаются).

Мое предложение:

На каждом сервере ВМ вы создаете два файла:

  1. Первый; Файл .eml. Это текстовый файл, который используется как шаблон электронной почты. Заполните его конкретной системной информацией, которую вы хотите получать при запуске конкретного сервера. Файл должен начинаться так:

От: sender@domain.com

Кому: youremail@yourdomain.com

Тема: Сервер запуска системы nnn

  1. Во-вторых; Пакетный файл для копирования файла .eml в папку получения вашего сервера обмена. Папка получения находится по адресу: «C: \ Program Files \ Microsoft \ Exchange Server \ V14 \ TransportRoles \ pickup» вашего сервера обмена.

  2. Наконец, на каждом сервере виртуальной машины создайте задачу в планировщике задач (taskschd.msc), которая запускается при запуске системы и имеет действие для запуска указанного выше командного файла.

Я использовал это решение, так как мне не удалось заставить работать функцию электронной почты для системных событий. После того, как Exchange обнаружит файл .eml в папке получения, он будет отправлен и удален из папки. Итак, для каждого электронного письма, которое вы хотите получить, вам необходимо скопировать файл .eml в папку для получения.

Надеюсь это поможет.

Изменить: если у вас нет запущенного сервера Exchange, моя идея запустить командный файл с планировщиком задач в сочетании с этим вопросом https://stackoverflow.com/questions/709635/sending-mail-from-batch-file также может дать вам желаемый результат.