邮件 MIME 版本和 Content-Type 未设置标头 - Ubuntu 14.04 与 Ubuntu 20.04 的邮件行为不同

邮件 MIME 版本和 Content-Type 未设置标头 - Ubuntu 14.04 与 Ubuntu 20.04 的邮件行为不同

我最近将脚本从 Ubuntu 14.04 服务器复制到 Ubuntu 20.04 服务器。现在,我的一些脚本在 Ubuntu 20.04 上运行,但它们似乎无法像以前在旧版 Ubuntu 14.04 服务器上那样工作。其中一个脚本使用 mail 命令,出于某种原因,我收到的邮件与服务器最终发送的电子邮件有所不同。从 Ubuntu 14.04 服务器和 Ubuntu 20.04 服务器运行的相同 mail 命令在运行类似于下面的 mail 命令时会产生明显的差异:

mail -s "Report" -A "/home/path1/pic1.jpg" -A "/home/path1/pic2.jpg" -A "/home/path1/pic3.jpg" -A "/home/path1/pic4.jpg -a "From: [email protected]" -a "MIME-Version: 1.0" -a "Content-Type: text/plain" "[email protected]" <<< "This text will be attached as a file named noname.txt with empty message contents in Ubuntu 20.04 rather than being plain text as the message content like it did in Ubuntu 14.04

--------
Thanks
Testing Bot"

在 Ubuntu 20.04 中,上述邮件命令在终端中输出以下错误/消息:

mail: MIME-Version: not setting header
mail: Content-Type: not setting header

这是为什么?在 Ubuntu 14.04 中,邮件命令不会产生“未设置标题”消息,并且按预期工作。从 Ubuntu 14.04 服务器发送的电子邮件以纯文本内容作为邮件正文内容,而从 Ubuntu 20.04 服务器发送的电子邮件以消息“此文本将附加...”作为名为 noname.txt 的文件附加,没有邮件正文内容(空)。

有人知道为什么吗?如何让此邮件命令生成类似于 Ubuntu 14.04 发送的电子邮件?

答案1

解决方法是使用 -M 或 -- mime 以及 content-type="text/plain"

mailutil Bug 解决方法链接:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918806#22

https://superuser.com/questions/1166752/cant-send-email-with-html-body-and-attachment

请注意,--content-type 是一个位置选项,指的是所有后续附件(如果有多个),并且最后指定的值也将用于邮件正文(这就是它在最后再次更改的原因)。

相关内容