我今天已经在我的服务器上设置了 Logwatch,并且已经成功安装。
我已经关注本指南在 Digital Ocean 上并将MailFrom
参数设置为:
MailFrom = [email protected]
我正在使用 ssmtp 通过我的 Postmark App 帐户发送电子邮件,并且它通过我的 Postmark 活动源发送,但它显示发件人字段被设置为 root。
SMTP API 错误[电子邮件保护]:无效的“发件人”地址:“root”。
查看试图发送的电子邮件的原始来源,它显示以下行:
From: root
这是我用来生成发送的命令:
sudo logwatch --detail Low --mailto [email protected] --service http --range today
我哪里做错了或者我该怎么做才能让它发送[email protected]
因为 Postmark 要求发件人地址正确发送,否则它将不会允许其通过并返回错误
更多细节
Logwatch 版本:Logwatch 7.4.0 (released 03/01/11)
系统:Debian 8(Jessie)
使用我服务器上的 sSMTP 从 Postmark 发送电子邮件调试日志:
Config After Command Line Parsing:
supress_ignores -> 0
pathtozcat -> zcat
html_header -> /usr/share/logwatch/default.conf/html/header.html
logdir -> /var/log
hostlimit ->
encode -> none
subject ->
mailfrom -> root
format -> html
numeric -> 0
tmpdir -> /tmp
html_wrap -> 80
pathtobzcat -> bzcat
detail -> 0
range -> yesterday
hostformat -> none
debug -> 10
output -> mail
mailer -> /usr/sbin/sendmail -t
hostname -> game
html_footer -> /usr/share/logwatch/default.conf/html/footer.html
archives -> 1
pathtocat -> cat
mailto -> [email protected]
filename ->
答案1
经过大量调查,我找到了原因。
/usr/share/logwatch/dist.conf/logwatch.conf
处理完毕后,Logwatch 进行处理/usr/share/logwatch/default.conf/logwatch.conf
。
里面/usr/share/logwatch/dist.conf/logwatch.conf
有三行配置:
mailer
TmpDir
MailFrom
正是此处MailFrom
设置为root
导致了问题。更新为 后,[email protected]
一切正常!
答案2
不幸的是,Digital Ocean 的文章在一个重要点上误导了我们。应该复制 logwatch 配置文件(参见https://help.ubuntu.com/community/Logwatch) 变为 /etc/logwatch/conf/logwatch.conf,然后再进行编辑。如果 /etc 位置有一个配置文件,logwatch 将优先考虑 /etc 文件而不是默认值(甚至会忽略默认值,我不确定是哪个)。文章下方的评论中提到了这一点,但和你一样,我在继续实施之前没有阅读评论。这就是我在这里的结局!
答案3
您应该在里面设置您的配置/etc/logwatch/conf/logwatch.conf
。
这将覆盖/usr/share/logwatch/dist.conf/logwatch.conf
和/usr/share/logwatch/default.conf/logwatch.conf
。
从http://ftp.logwatch.org/tabs/docs/HOWTO-Customize-LogWatch.html
但是,从 7.0 版开始,Logwatch 实现了一种机制,允许更轻松地修改本地系统。这些修改可能是因为写入系统日志的服务的配置已从其默认配置更改,或者因为 Logwatch 用户希望 Logwatch 报告的内容或报告方式有所不同。
您可以通过修改 /etc/logwatch/conf 目录中的变量来定制 logwatch 的输出。
默认值在 /usr/share/logwatch/default.conf 目录中指定。您的发行版可能在 /usr/share/logwatch/dist.conf 目录中设置了其他默认值。所有可用变量都在这些目录下的文件中声明。您可以更改默认值以修改 logwatch 的显示方式或显示内容。