从 Linux 文件服务器接收电子邮件警报

pri*_*uff 5 email linux sendmail file-server

目标:将文件服务器上的文本文件放入我的 gmail 收件箱。

文件服务器正在运行 Ubuntu Server 8.04 我目前不时通过 SSH 进入它并检查日志、硬盘驱动器的 SMART 统计信息等。我正在考虑设置一个计划脚本,该脚本运行一些命令并通过电子邮件向我发送输出。

我遇到的唯一问题是实际发送电子邮件。我没有 linux 下的电子邮件配置经验,所有指向 sendmail 的指南似乎都代表我自己和我当前的配置假设了很多事情。服务器设置为与 samba 共享文件,而不是作为邮件、Web 或 dns 服务器。我不想运行邮件服务器或从服务器路由任何东西或在服务器上(或使用)接收任何邮件,除非其中任何一项有助于我实现目标。文件服务器位于我们的正常网络上,并且可以访问 Internet。

我拥有多个网站域(并且有一个托管包)。我已经能够通过填写 smtp.mydotcom.com 以供传出服务器使用并更改端口等以匹配来自我网站的 cpanel 配置页面的信息,从而设置诸如 Thunderbird 之类的应用程序以使用我网站上的帐户之一发送邮件. 有没有办法做类似的事情,这样我就可以从我的文件服务器向我的外部电子邮件发送电子邮件?

编辑:这是我在阅读下面丹尼斯威廉姆森的回答后采取的步骤。我只用了几分钟就启动并运行了!

安装 esmtp:

sudo apt-get install esmtp

我在我的网站上创建了一个新的电子邮件帐户(称为“警报”)并像这样编辑 /etc/esmtprc:

主机名=mail.mydomain.com:26
用户名=alerts +mydomain.com

(这些值由 cpanel 管理页面提供)

然后我用电子邮件的默认顶部创建了一个名为“eheader”的文件:

收件人:我 <me@gmail.com>
发件人:警报 <alerts@mydomain.com>
主题:主题

邮件正文

因此,为了关闭邮件,可以使用以下命令:

cat eheader <file1> <file2> ... <fileN> | /usr/bin/esmtp -t

因此,很容易改变为每日/每周/等作业发送的文件。

Den*_*son 4

esmtp为此,我使用,这是一个仅发送的 MTA。设置非常简单。它具有与 sendmail 兼容的命令行选项(有些被忽略)。它在存储库中。

这是一个简单的例子:

echo -e "To: Recipient Name <person@example.com>\n\
    From: Me Myself and I <me@gmail.com>\n\
    Subject: Here is the example I promised\n\n\
    $(<somefile)" | /usr/bin/esmtp -t
Run Code Online (Sandbox Code Playgroud)

这将发送名为“somefile”的文件的内容。

有一个非常简单的配置文件,/etc/esmtprc其中包含您的上游电子邮件提供商的主机名、用户名和密码(我假设您的是 gmail)。

有关 Gmail 的设置说明请参见此处