Gil*_*il' 63 mail cron-jobs root administration
系统管理员接收系统通知的 Ubuntu 方式是什么,通常以电子邮件的形式发送到 root 帐户?
此类通知的示例是 cron 作业的输出或降级 RAID 通知。
在几乎默认的 Ubuntu 10.04 安装中,除了存放在/var/mail/root
. 用户应该如何 1. 发现它和 2. 在它到达时阅读它?
我观察到,安装程序添加root: myusername
到/etc/aliases
. 因此,当时安装系统的用户如果阅读了本地邮件。因此,似乎在此过程中的某个地方出现了倒退。这仍然不是一个完整的解决方案,因为不能期望 Ubuntu 用户知道他们有本地邮件并且应该设置他们的邮件客户端来阅读它。
添加:鉴于当前的回复,服务器用户应该能够应对,前提是他知道这个问题。很公平。但是考虑一下 J. Random 桌面用户,他不知道如何使用命令行,只知道如何单击邮箱图标来阅读他的邮件。如何通知他他的系统想要告诉他一些事情?(如果不可避免,请允许更有能力的用户进行一次性干预。)
小智 41
在Gilles评论的鼓励下,我改编并扩展了另一个答案:
(我正在运行 Ubuntu 12.04.1 LTS,但一般设置过程应该适用于以前和未来的 Ubuntu)
要做的第一件事是安装邮件传输代理 (MTA),以便邮件可以中继到邮件用户代理 (MUA),例如Thunderbird
. 这只是必要的,因为我们正在处理本地邮件并希望能够发送和接收它;使用普通的远程 gmail 类型帐户,只需要一个用户代理Thunderbird
。
我使用postfix
,它本身是 的替代品sendmail
,其中有商业和开源版本。有关 postfix 功能的更多信息位于官方站点,如果出现任何问题,用户可能会发现邮件列表包含有用的信息。
因此,要安装该程序,请运行
sudo apt-get install postfix
Run Code Online (Sandbox Code Playgroud)
您可以在安装时对其进行配置,也可以拒绝报价并稍后运行
sudo dpkg-reconfigure postfix
Run Code Online (Sandbox Code Playgroud)
创建重要的配置文件 ( /etc/postfix/main.cfg
)。如果您曾经手动编辑此文件(不一定建议这样做),则必须运行sudo newaliases
并在sudo service postfix restart
之后应用更改。
Postfix
设置起来非常简单,尽管您可能有一些想要应用的特定设置。在您看到的第一个屏幕中,您必须为您的邮件选择本地选项:
然后在下一个屏幕上选择您的“邮件名称”;它通常与/etc/hostname
. 您可以接受以下大多数屏幕的默认值。
当提到/etc/aliases
与根和邮政收件人(如上),你可以在你填写用户名,但一定要检查你的别名文件是应该通过阅读本教程的下一节。
首先,正如本讨论中所建议的,/etc/aliases
如果设置正确,您应该是这样的:
postmaster: root
root: mike
Run Code Online (Sandbox Code Playgroud)
如果没有,请使用 对其进行编辑sudo nano /etc/aliases
,然后运行sudo newaliases
并sudo service postfix restart
更新配置。Postfix's
别名功能允许重定向邮件,因此设置对于本教程的其余部分非常重要。
正如在上面的链接中所指出的,您需要创建一个.forward
包含您的用户名和本地主机的文件:例如,mike@localhost
以便将 root 的邮件转发给您。为此,请输入以下命令:
sudo touch /root/.forward
Run Code Online (Sandbox Code Playgroud)
然后运行
sudo nano /root/.forward
Run Code Online (Sandbox Code Playgroud)
放置您的用户:例如mike@localhost
在文件中并保存它。
此外,我发现有必要将您的用户添加到邮件组,以便Thunderbird
可以访问邮件文件:
sudo adduser $USER mail
Run Code Online (Sandbox Code Playgroud)
然后注销并登录以使更改生效。没有必要chown
或chmod
任何文件,正如一些文章可能建议的那样,将您的用户添加到邮件组是更好的做法,避免直接更改根文件系统上的权限。
现在进行Thunderbird
配置。转到编辑 > 帐户设置 > 帐户操作 > 添加其他帐户 > 选择 Unix spoolmail,然后在下一个屏幕中将您的用户名放在第一个框中,然后放在yourusername@localhost
第二个框中。
现在,转到帐户设置中的新帐户并选择服务器设置并选择本地目录作为/var/mail
或/var/mail/username
(如果设置),如下面的屏幕截图所示。
根据本文中的说明,如果您想通过发送邮件来测试帐户root@localhost
,然后在 Thunderbird 中单击获取邮件来接收它,您将需要配置 smtp 服务器,因为 root 的邮件被重定向到youruser@localhost
.
转到帐户设置> 外发服务器并选择添加一个新服务器。设置应如下面的屏幕截图所示:
现在,最后通过写一封邮件到您的帐户来测试您的帐户root@localhost
,然后几秒钟后在您的帐户上单击“获取邮件”。您应该会看到这样的电子邮件:
某些程序或日志需要进行配置,以便它们将邮件发送到 root,但这可以根据您的需要来决定。这篇文章应该很有用,因为设置Thunderbird
接收本地邮件并不总是那么简单。
Ric*_*way 22
如果这是一台服务器,我强烈建议您将 root 别名为真实的电子邮件地址,以便将电子邮件发送给管理员 这就像添加一样简单
# Person who should get root's mail
root: all_administrators@mydomain.com
Run Code Online (Sandbox Code Playgroud)
到 /etc/aliases 的末尾
或者,您可以将邮件配置为本地用户名的别名,然后当您登录时,您将收到消息“您有邮件”,您可以使用mail
命令或通过在该服务器上安装 pine / mutt /alpine 或类似的东西来检查..
Lit*_*awa 11
我个人使用名为 nullmailer 的邮件代理。它充当邮件代理,并将所有发送到 root 的邮件传输到您选择的邮件地址。
您需要在 /etc/nullmailer 下的 conf 文件中设置其设置。基本上:给它您的邮件提供商地址和凭据,以及您希望接收根电子邮件的地址。
你可以安装它
sudo apt-get install nullmailer
Run Code Online (Sandbox Code Playgroud)
您可以在此处获取有关其设置的更多信息:http : //jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer