如何设置服务器在开始后发送电子邮件(即不意味着是电子邮件服务器)?

Windows Server 2012 R2 w / GUI,UPS系统

我正在build立我的第一台服务器。 这是一个Hyper-V主机,将托pipe多个虚拟机服务器。 系统在UPS上。

当UPS检测到交stream电源故障时,UPS通过位于其他地方的SMTP邮件服务器发送电子邮件,然后在一段时间后电源未恢复正常closures服务器。 当电源恢复时,主机BIOS设置为自动重启。

我想从恢复电源后重启的各种服务器上收到电子邮件。 我的UPS不会在交stream恢复时发送电子邮件,但即使这样做,也不会告诉我服务器已经恢复。 我希望每个服务器在上线后发送一封电子邮件。

需要使用哪些步骤/方法来实现这一目标? 通过方法论,我的意思是问我是否需要编写一个脚本,或者是否有一个内置的工具来实现这个目标?

我有SMTP服务器信息,端口,login凭证等发送电子邮件,我只是不明白如何使服务器上电,或者这种通知的标准/最佳做法是正常的被处理。

谢谢。

您可以在不编写Powershell脚本的情况下完成此任务的一种方法是使用监视服务。 你有任何types的监测目前安装? 大多数监控服务会通知服务器无法访问,然后在服务器备份时发送“全部清除”电子邮件。 我使用的一些免费开源工具是Zabbix和Nagios。 他们可以使用安装的代理或以无代理模式使用SNMP。 它们也是ManageEngine的工具,最多可以监控20台服务器。 https://www.manageengine.com/free-windows-health-monitor/free-windows-health-monitor-index.html

我认为这种方法是最好的,因为它还使您能够监视其他关键指标(如果它们尚未受到监视)。

我的build议:

在每个VM服务器上创build两个文件:

  1. 第一; 一个.eml文件。 这是一个用作电子邮件模板的文本文件。 使用特定服务器启动时要接收的特定系统信息填充它。 该文件应该像这样开始:

来自:[email protected]

致:[email protected]

主题:系统启动服务器nnn

  1. 其次; batch file,将.eml文件复制到交换服务器的代答文件夹。 拾取文件夹位于交换服务器的“C:\ Program Files \ Microsoft \ Exchange Server \ V14 \ TransportRoles \ pickup”中。

  2. 最后,在每个虚拟机服务器上创build一个任务调度程序(taskschd.msc)中的一个任务,该任务在系统启动时触发,并且具有运行上述batch file的操作。

我使用这个解决scheme,因为我无法获得系统事件的电子邮件function。 Exchange在拾取文件夹中find.eml文件之后,它将被发送并从文件夹中删除。 因此,对于您希望收到的每个电子邮件,您需要将.eml文件复制到拾取文件夹。

希望这可以帮助。

编辑:如果您没有运行Exchange服务器,我的想法与任务调度程序的batch file启动结合这个问题https://stackoverflow.com/questions/709635/sending-mail-from-batch-file可能会给你想要的结果也是如此。