在 RedHat 中使用 mailx 在主题中使用日语字符并附加文件 Linux

Use Japanese characters in subject and attach file with mailx in RedHat Linux

我正在尝试使用 mailx 命令发送带附件(压缩)的电子邮件,但遇到两个问题,下面是我使用的命令:

(echo "$BODY"; UUENCODE $ZIP_FILE $ZIP_FILE) \
 | mailx -s $SUBJECT_1 -r " " $SENDER $RECIPIENT

我的电子邮件主题包含 space 和日语字符。

变量$SUBJECT_1有如下语句

Subject: [Budget] Subtype Error and some JAPANESE CHARECTERS

我下注后出现错误:

contains invalid character '3'

此外,为了测试目的,我将 SUBJECT_1 的语句更改为 Test Message

SUBJECT_1="Test Message"

有效,但我只收到 Test 而不是 Test Message,在邮件中我可以在 To 中看到另外两个电子邮件 ID,例如 Message@domain.com-r@domain.com

我还没有实现邮件正文,一旦主题问题得到解决,将在正文中实现相同的内容,因为正文也会有日文字符。

请帮我解决这个错误,如何解决以及我做错了什么

这里列出了您需要帮助的事情,比我想在一个阳光明媚的周六下午详尽处理的事情还要多。但是一些提示。

引用你的变量。

"$SUBJECT_1" 是单个字符串,而 $SUBJECT_1 是 space-separated 个单词的列表。第二个字是你的邮件收件人,后面的选项也是收件人。

主题。

基本思路是您需要在主题中包含编码数据,因为电子邮件 headers 只应包含 7 位 ASCII。

Here 提示您如何在主题行中放置特殊字符。

Here 是另一个提示。

Here 是 RFC,详细描述了您需要做什么。向您最喜欢的搜索引擎询问有关 "utf8 email subject" 和 "rfc1522" 的信息可能是个好主意。

邮件客户端。

最后,与其学习如何使用 MIME,不如考虑使用 mutt 而不是 mailx 来发送邮件。 Mutt 有一个添加附件的 -a 选项,这比构建您自己的 headers 和 body 更容易,我什至不确定您是否能够在第一名。