接收来自Linux file server的邮件提醒

目标:在我的文件服务器上获取一个文本文件到我的Gmail收件箱中.

文件服务器正在运行Ubuntu Server 8.04,我目前不时通过SSH连接它,并检查日志,硬盘驱动器的SMART统计信息等.我正在研究设置一个运行某些命令的预定脚本,并通过电子邮件将输出发送给我.

我遇到的唯一问题是实际收到电子邮件.我没有使用linux下的电子邮件配置的经验,所有指向sendmail的指南似乎代表我和我当前的配置承担了很多事情.服务器设置为使用samba进行文件共享,而不是作为邮件,Web或DNS服务器进行文件共享.我不想运行邮件服务器或从服务器路由任何东西或在服务器上(或与服务器)接收任何邮件,除非任何这些帮助我实现目标.文件服务器位于我们的普通网络上,并具有Internet访问权限.

我拥有几个网站域名(并有一个托管包).我已经能够设置像thunderbird这样的应用程序来使用我网站上的一个帐户发送邮件,填写smtp.mydotcom.com以便使用和更改端口等以匹配我网站的cpanel配置页面中的信息.有没有办法做类似的事情,所以我可以从我的文件服务器发送电子邮件到我的外部电子邮件?

编辑:以下是我在阅读下面的丹尼斯威廉姆森的答案后采取的步骤.我只用了几分钟就跑起来了!

安装esmtp:

sudo apt-get install esmtp

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

hostname=mail.mydomain.com:26
username=alerts+mydomain.com

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

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

To: Me <me@gmail.com>
From: Alerts <alerts@mydomain.com>
Subject: subject

Message Body

因此,为了触发邮件,可以使用以下命令:

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

因此,可以轻松更改为每日/每周/等作业发送的文件.

解决方法

为此,我使用 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

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

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

有关为Gmail设置的说明是here.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...