java 进程构建器执行主题和附件名称具有 non-ascii 个字符的 mutt 命令

java process builder execute mutt command with subject and attachment name having non-ascii characters

如果我直接从我的终端使用 mutt 命令,我可以看到主题是 ?UTF-8B?base64_encoded(subject)?=,而我的附件 content-disposition header 将是 attachment; filename*=UTF-8''UTF-8_encoded_filename。这一切都很好。

但是当我从 java 进程构建器发送此邮件时,没有设置任何 header 值或任何编码只是简单地提供主题,to_mail 值存在编码问题,主题将就像?unkown-8bit?B?wrong_base64_encoded(subject)编码的主题是错误的,所以在解码时会有一些字符和content-dispositionheaderattachment; filename*=us-ascii''UTF-8_encoded_filename的附件值出现问号。因此,虽然文件名将充满非人类可读的字符。

那么,如何为主题设置正确的编码以及如何在 content-disposition header.

中提及正确的编码

使用 -e set charset=utf8 执行 运行 mutt 命令后问题得到解决。