我已经在ubuntu 20.04中设置了mailutils,我可以使用下面的命令发送电子邮件
echo 'this is a body' | mail -s 'Test Email' -r noreply@domain.com myaddress@example.com
但上面命令的第一个问题是,它发送的邮件名为"Ubuntu",这是我的当前用户,在这种情况下,只有发件人名称不好,发件人地址是我指定的。(Ubuntu <noreply@domain.com>
(。
然后在第二个命令中,当我尝试发送指定发件人的名称时:
echo 'this is a body' | mail -s 'Test Email' -r 'SenderName <noreply@domain.net>' myaddress@example.com
在我的电子邮件收件箱中,它将显示以下发件人:Ubuntu <SenderName@mainmailserver-1-eu>
如何在保留发件人地址的同时更改mailutils中的发件人名称?
-r
选项设置信封发件人。可能尝试
mailx -s 'Test Email' -a 'From: SenderName <noreply@domain.net>' myaddress@example.com <<<"this is a body"
您可能希望也单独设置信封发件人,但这会添加一个适当的From:
标头,它可以更直接地控制显示的内容。
如果有一个单独的Sender:
标头,某些MUA可能仍然会显示一些不同的内容,某些系统会在覆盖默认值时自动添加该标头。如果你需要对这些事情进行详细的控制,你可能还需要单独配置MTA(Postfix、Sendmail等(。
当系统进程正在发送电子邮件通知,并且您无法控制mailx命令行来添加From标头时,您可以使用设置用户的显示名称
sudo chfn -f "*Display Name*" <user>
来自用户的电子邮件将显示为来自您的电子邮件客户端中的显示名称。
最后,mailutils支持每个用户的配置文件,如~/.mailx。您可以使用在那里设置用户的电子邮件地址
address {
email-addr <email: address>;
};
在mailx的--config帮助选项中进一步解释。这些技术适用于Ubuntu LTS 22.04。