2010-06-23 4 views
3

J'envoie un mail avec le mot Òmnium (voir l'accent) dans l'expéditeur en utilisant Spring Framework.Accent soutien pour les mails dans Spring Framework

Le code est celui que je trouve pour le printemps:

org.springframework.mail.javamail.JavaMailSenderImpl sender = sender(); 
    javax.mail.internet.MimeMessage msg = sender.createMimeMessage(); 
    MimeMessageHelper helper = new MimeMessageHelper(msg, multipart, "UTF-8"); 
    helper.setFrom(from); 
    ... 
    sender.send(msg); 

J'ai essayé deux approches:

  1. Aucune manipulation à partir
  2. Encode avec: MimeUtility.encodeText(from) ou MimeUtility.encodeText(from, "UTF-8", null)

Le premier cas me donne un point d'interrogation. Le second donne un =?UTF-8?Q?=C3=92mnium, comme vu dans Thunderbird.

Quelle est la bonne approche?

+0

La bonne approche est l'ajout de l'encodage "Q": MimeUtility.encodeText (de, "UTF-8", "Q") –

Répondre

3

La deuxième approche fonctionne bien. Notez que vous ne devez pas appliquer MimeUtility.encodeText() à la partie d'adresse du champ From, i. e.

String from = MimeUtility.encodeText("Òmnium", "UTF-8", null) + " <[email protected]>";