我正在测试给自己发送一些带有 ä、ü、ö 等德语变音符号的电子邮件。 这是我使用的命令:
echo "ä ü ö" | mail -a "Content-Type: text/plain; charset=UTF-8" -s "test ä ü ö" test@example.com
但我在标准的 Android 电子邮件客户端上得到了这个:
test@example.com
test ?? ?? ??
ä ü ö
如果我通过 Thunderbird 或类似工具给自己写一封电子邮件,效果会很好。 有谁知道如何解决这个问题?
最佳答案
MIME (Content-Type:
) header 指定电子邮件正文的编码。
[顺便说一下,您的 MIME(内容类型) header 不完整]
还有另一种编码 ( RFC-2047 ) 用于电子邮件标题 (Subject:
,From:
,...)。
请在下方找到“perl oneliner”进行此类转换的答案链接。
https://superuser.com/a/972248/209289
如果您使用基于 utf-8 的语言环境,下面的脚本应该可以工作。
[ 它似乎适用于 LANG=en_US.UTF-8
]
#!/bin/sh
SUBJECT="test ä ü ö"
SUBJECT=`perl -MEncode -CA -e 'print Encode::encode("MIME-Q",$ARGV[0])' "$SUBJECT"`
/usr/sbin/sendmail -i -- test@example.com <<END
Subject: $SUBJECT
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
ä ü ö
END
关于android - 如何以正确的方式将 UTF8 格式化为主题 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37068990/