java process builder执行带有非ascii字符的主题和附件名称的mutt命令

问题描述

如果我从终端直接使用 mutt 命令,我可以看到主题?UTF-8B?base64_encoded(subject)?=,而我的附件内容处置标头将是 attachment; filename*=UTF-8''UTF-8_encoded_filename。这一切正常。

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

那么,如何为主题设置正确的编码,以及如何在 content-disposition 标头中提及正确的编码。

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...