Ejemplo

public static void main(String[] args) {
javax.mail.internet.MimeMessage mm = new javax.mail.internet.MimeMessage(
javax.mail.Session.getInstance(new java.util.Properties()));
try {
mm.setText(args[0]);
byte[] description = ((String) mm.getContent()).getBytes();
java.io.FileOutputStream out = new java.io.FileOutputStream(
"Rule.html", true); //$NON-NLS-1$
out.write(description);
} catch (Exception e) {
System.out.println(e.toString());
}
}
Solución
Utilice
javax.mail.internet.MimeBodyPart.setText (java.lang.String, java.lang.String) La serie Unicode dada se codificará utilizando el conjunto de caracteres especificado.
Advierta que el conjunto de caracteres especificado debe soportar todos los caracteres de la serie.
Si el lenguaje de la serie es desconocido, utilice iso-8859-1.

public static void main(String[] args) {
String text = args[0];
String charset = args[1];
javax.mail.internet.MimeMessage mm = new javax.mail.internet.MimeMessage(javax.mail.Session.getInstance(new java.util.Properties()));
try {
mm.setText(text,charset);
byte[] description = ((String)mm.getContent()).getBytes("iso-8859-1"); //$NON-NLS-1$
java.io.FileOutputStream out = new java.io.FileOutputStream("Rule186-2.html", true); //$NON-NLS-1$
out.write(description);
}catch (Exception e){
System.out.println(e.toString());
}
}