2010-07-20 12 views
0

Alors que j'envoie un message en utilisant l'API javamail i mis le sujet likr ceComment setSubject en base64 dans MimeMessage

msg.setSubject (sujet, charset);

Mais cette méthode setsubject code le sujet uniquement dans le codage Quoted-printable. Mais je veux setsubject en encodage base64.

Par exemple:

Résultat attendu:? = Big5 B ............ =

résultat obtenu:?? = Big5 Q ... ..........? =

aidez-moi s'il vous plaît. Merci à l'avance

Répondre

0

Vous pouvez encoder et définir en-tête sous réserve explicitement:

message.setHeader("Subject", MimeUtility.encodeText("Тема.", "utf-8", "B")); 

Résultat:

Subject: =?utf-8?B?0uXs4C4=?= 

Mais remarquez que si votre sujet ne comporte que des caractères ASCII, il ne sera pas codé .

message.setHeader("Subject", MimeUtility.encodeText("Subject.", "utf-8", "B")); 

Résultat:

Subject: Subject.