msmtp:sendmail:未找到帐户默认值:没有可用的配置文件(系统范围配置)

msmtp:sendmail:未找到帐户默认值:没有可用的配置文件(系统范围配置)

我正在尝试将 Ubuntu 20.04 与 msmtp 设置在一起作为系统配置。

我安装了 msmtp (v1.8.6-1) 和 heirloom-mailx (v12.5-2+deb7u1build0.14.04.1)。

配置文件/etc/msmtprc(chmod:600)具有以下内容:

# Set default values for all accounts.
account default
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/msmtp

# gmail
host           smtp.gmail.com
port           587
from           <account>@gmail.com
user           <account>
password       <password>

# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL

日志档案/var/log/msmtp文件模式为 660。

文件/etc/mailrc(chmod:600)包含以下内容:

set sendmail="/usr/bin/msmtp"

当我尝试使用 sendmail 从终端发送电子邮件时,我收到以下信息sendmail:未找到默认帐户:没有可用的配置文件

如果我直接调用 msmtp,也会出现同样的错误。

答案1

警告 1:我的建议基于 Debianmsmtp软件包。
警告 2msmtp出于安全原因,较新的软件包不再将 msmtp 安装为设置组 ID。

建议修复:使其/etc/msmtprc成为团体所有msmtp

chown root:msmtp /etc/msmtprc
chmod 640 /etc/msmtprc

解释: msmtp二进制文件安装为 set group ( msmtp) id

$ ls -l /usr/bin/msmtp
-rwxr-sr-x 1 root msmtp 139000 Aug 20 16:24 /usr/bin/msmtp

相关内容