LogWatch SMTP 认证

LogWatch SMTP 认证

我已经使用 LogWatch 有一段时间了,想对它进行一些定制,所以这是我想要编辑的内容之一。

我想让 LogWatch 通过 SMTP 进行验证?

我的邮件服务器(iREDmail)对身份验证有一些非常严格的规则,因此我必须为帐户设置密码,并且该密码必须在系统中。

如何设置 LogWatch 以使用电子邮件和密码进行 STMP 身份验证?

答案1

您好,如果您希望 logwatch 使用 smtp 帐户发送邮件,您可以使用 msmtp 包 (debian) 并配置 logwatch 以使用它,它会发送 smtp 认证邮件。您不需要 postfix,设置本身不会影响系统中现有的 MTA 配置。

步骤 1:安装并测试 msmtp

apt-get install msmtp

通过在用户主文件夹中创建配置文件来进行配置

cd ~
touch ./.msmtprc
edit .msmtprc

编辑并粘贴此内容以满足您的需求

account default
host mail.domain.tld
port 587
from [email protected]
auth on
user [email protected]
password myverysecretpass
tls on
tls_certcheck off 

tls_certcheck off # 如果你不想检查邮件服务器的 SSL 证书

tls_trust_file mycacertificatefile #如果你想检查 ca 证书

保存文件并使用命令检查/验证配置

msmtp -S

第 2 步:编辑 logwatch 的配置

edit /etc/logwatch/conf/logwatch.conf

找到现有的邮件行并注释掉它。创建新行并更改目标邮件地址

mailer = "/usr/bin/msmtp [email protected]"

检查 logwatch 中的邮件地址是否与 .msmtprc 中的邮件匹配,否则您将收到未送达报告

MailFrom = [email protected]

保存并运行logwatch脚本,检查目标邮箱中的电子邮件,如果没有收到,请检查邮箱[电子邮件保护]未送达报告问题

这个解决方案对我来说很有用,我以正确的方式收到邮件,并且我正确地使用 DMARC 和 DKIM 来获取我需要的报告。

答案2

所有有效的 Logwatch 设置及其默认值的列表都在默认文件中logwatch.conf,您可能可以在 中找到/usr/share/logwatch/default.conf/logwatch.conf该文件。Logwatch邮件选项非常有限;没有任何形式的身份验证配置文件中的注释记录了所有可能的情况:

#Output/Format Options
#By default Logwatch will print to stdout in text with no encoding.
#To make email Default set Output = mail to save to file set Output = file
Output = stdout
#To make Html the default formatting Format = html
Format = text
#To make Base64 [aka uuencode] Encode = base64
Encode = none

# Default person to mail reports to.  Can be a local account or a
# complete email address.  Variable Output should be set to mail, or
# --output mail should be passed on command line to enable mail feature.
MailTo = root
# WHen using option --multiemail, it is possible to specify a different
# email recipient per host processed.  For example, to send the report
# for hostname host1 to [email protected], use:
#Mailto_host1 = [email protected]
# Multiple recipients can be specified by separating them with a space.

# Default person to mail reports from.  Can be a local account or a
# complete email address.
MailFrom = Logwatch

这表明您必须允许 Logwatch 在本地 MTA 上无需身份验证即可发送电子邮件。

在 Postfix 中,使用身份验证可能是通过以下方式强制执行的:

这些是正常设置提交在港口587,但有permit_mynetworks在 Postfix smtpd 监听端口上,25将允许本地用户无需身份验证即可发送邮件。这通常足以让 Logwatch 发送邮件。

你的 iRedMail使用 Postfix作为一个邮件传输代理(MTA)。iRedMail 文档也有文章允许用户无需 SMTP 身份验证即可发送电子邮件使用两种不同的方法。这两种方法都涉及手动编辑配置文件。您应该将 Logwatch 添加为允许的发送方。

相关内容