我有一个旧系统,最近从 23.04 升级到 23.10。但是,我不知道以前的版本是否存在这个问题,因为我没有尝试在以前的版本中发送电子邮件。
我的问题是,当我从命令行发送电子邮件时,如下所示:
echo "Test content" | mail -s "Test subject" [email protected]
该mail
命令(或postfix
)未在行中填写我的完全合格域名From:
。此字段仅包含me@host
从系统可见的内容mail.log
,并且该电子邮件被收件人拒绝。
当我使用时:
echo "Test content" | mail -s "Test subject" -r "[email protected]" [email protected]
然后电子邮件就会按预期正确传输。
我的/etc/postfix/main.cf
文件包含:
myhostname = host.mydomain
mydestination = host.mydomain localhost.mydomain localhost
该mail
命令的版本:
$ mail --version
mail (GNU Mailutils) 3.16
Copyright (C) 2007-2023 Free Software Foundation, inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
请注意,这mail
是来自的链接/usr/bin/mail.mailutils
:
$ dpkg -S /usr/bin/mail.mailutils
mailutils: /usr/bin/mail.mailutils
我已经将所有这些以及网络配置(主机名、dnsdomainname、DNS 记录等)与当前运行 23.04 的另一个系统进行了比较,它们很相似,但该系统做通过在行中填写完全限定域名来按预期行事From:
。所以,我犹豫着是否要升级该系统,以防这个问题与 23.10 中提供的二进制文件或默认配置有关。:(
显然,上面例子中给出的“host”和“mydomain”是真实名称的占位符。