SSMTP 在迁移到 Buster 后失败



SSMTP 在我的 RPi 上工作了多年 - 最新的拉伸。 现在我迁移到 buster - 在此步骤之后,它现在失败了。

$  cat /etc/ssmtp/ssmtp.conf
root=user@mydomain.com
mailhub=smtp.gmail.com:587
hostname=localhost
UseSTARTTLS=YES
AuthUser=user@gmail.com
AuthPass=very_secret
FromLineOverride=YES
$ echo "MailBody"|mail --debug-level=3 -s "My Subject" mailaddress@domain.com
mail: sendmail binary: /usr/sbin/sendmail
mail: source=system, name=user, passwd=x, uid=1001, gid=1000, gecos=user,,,, dir=/home/user, shell=/bin/bash, mailbox=/var/mail/user, quota=0, change_uid=1
mail: source=system, name=user, passwd=x, uid=1001, gid=1000, gecos=user,,,, dir=/home/user, shell=/bin/bash, mailbox=/var/mail/user, quota=0, change_uid=1
mail: mu_mailer_send_message(): using From: user@localhost
mail: Sending headers...
mail: Sending body...
mail: /usr/sbin/sendmail exited with: 1
mail: progmailer error: Process exited with a non-zero status
mail: cannot send message: Process exited with a non-zero status
mail: source=system, name=user, passwd=x, uid=1001, gid=1000, gecos=user,,,, dir=/home/user, shell=/bin/bash, mailbox=/var/mail/user, quota=0, change_uid=1
$ echo $?
36

我有很多 shell 脚本使用以下命令发送邮件:

echo "MailBody"|mail -s "My Subject" emailaddress@domain.com

=> 因此,如果不再支持 SSMTP,我会按照该语法提供解决方案......

感谢您的任何帮助!

我通过从ssmtp(一些消息来源说它未维护(切换到msmtp(https://wiki.debian.org/msmtp(来解决此问题。

这可能适用于也可能不适用于您,请尝试通过直接通过/usr/sbin/ssmtp -v ....发送电子邮件来检查错误代码,我有退出 36(echo $?获取代码(。

如果您遇到类似情况并想尝试一下 msmtp,我遵循以下步骤:

安装:

$ sudo apt remove ssmtp
$ sudo apt install msmtp msmtp-mta

配置(我没有配置 GMail,我使用 Dreamhost 电子邮件服务,所以您的详细信息可能会有所不同(:

$ cat /etc/msmtprc 
# Set default values for all following accounts.
defaults
auth           on
tls            on
tls_starttls   off
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /tmp/msmtp.log
# Raspberry Pi
account        rasp
host           smtp.dreamhost.com
port           465
from           raspberry@<REDACTED>
user           raspberry@<REDACTED>
password       <PLAINTEXTPASSWORD>
# default account
account default : rasp

为了进行比较,这是我/etc/ssmtp.conf文件:

root=postmaster
mailhub=smtp.dreamhost.com:465
AuthUser=raspberry@<REDACTED>
AuthPass=<REDACTED>
UseTLS=YES
UseSTARTTLS=YES
TLS_CA-File=/etc/ssl/certs/ca-certificates.crt
hostname=<REDACTED>.org
FromLineOverride=NO

将 msmtp 设置为默认 MTA。我已将最后一行添加到我的 mail.rc 文件中:

$ cat /etc/mail.rc
set ask askcc append dot save crt
ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via Delivered-To
set mta=/usr/bin/msmtp

[注意]:msmtp 还有一个问题,因为它不会自动填充邮件中的"发件人:"标头,因此电子邮件被拒绝,要解决此问题,在调用时mail请确保手动执行此操作:

echo TEST | mail -a "From: raspberry@<REDACTED>" --debug-level 10 -s '[rasp] server' <REDACTED>@gmail.com

这使得电子邮件发送再次从我的树莓派在 Debian buster/sid 上工作。

相关内容

  • 没有找到相关文章