配置无人值守升级通知电子邮件的发件人地址

配置无人值守升级通知电子邮件的发件人地址

我最近使用 14.04.1 LTS 构建了一个服务器,我希望它能以一种非常快速和简单的方式通知我,例如,在安装升级后是否需要重新启动系统。我认为电子邮件是最好的选择。

我已经安装、配置并测试了 ssmtp,以使用我的常用电子邮件服务之一。

此外,我已经配置了无人值守升级,至少在最初阶段,它会在任何升级后向我发送电子邮件。

我可以让无人值守升级电子邮件来自特定地址吗?我知道我可以直接使用邮件或 ssmtp 来做到这一点,但如果我不指定“发件人”地址,那么它将默认为我的邮件服务的默认帐户,我希望它清楚地来自这台特定的机器。我可以在哪里为无人值守升级使用的邮件命令指定“发件人”地址?

答案1

在发现/usr/bin/unattended-upgrade

from_email = apt_pkg.config.find("Unattended-Upgrade::Sender", "root")

因此,默认情况下它将使用“root”作为发件人,这(至少在我的情况下)可能导致电子邮件因字段缺失或错误而被拒绝。

您可以在 中更改发件人/etc/apt/apt.conf.d/50unattended-upgrades,例如:

Unattended-Upgrade::Sender "Unattended-upgrades Hostname <[email protected]>";

答案2

只需在 mail.rc 文件中指定一个别名:

alias root root<[email protected]>

答案3

@Fabby - 谢谢你的建议,我找不到 mail.rc 文件,但你给我指明了正确的方向。(我试图投票支持你的答案,但我显然太菜鸟了!)

只是为了检查,我做了一个sendmail -V确认我正在使用 sSMTP。

重新阅读 sSMTP 上的文档后,我按照建议设置了一个别名,但在 或/etc/aliases/etc/ssmtp/revaliases

/etc/aliases已经包含 root 的条目 - 更改它似乎对已发送的电子邮件标题或内容没有明显影响。(我在想它是针对收到的邮件吗……?)

但是,添加:

root:[email protected]:MyMailHub.com

导致/etc/ssmtp/revaliases邮件生成一条消息,内容如下:

From: root <[email protected]> 

这虽然不是我想要的,但已经足够好了。

讽刺的是,当我登录服务器尝试此操作时,它通知我需要重新启动系统,但我没有电子邮件提醒我,所以我仍然没有正确设置......回到原点!

答案4

编辑 50unattended-upgrades。

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

添加以下行:

// Specify the from email address.
Unattended-Upgrade::Sender "EXAMPLE-Unattended-Upgrades";

更改“EXAMPLE”甚至删除“-Unattended-Upgrades”,电子邮件将来自 EXAMPLE 名称。

相关内容