Je serai très spécifique. Je construis une application Web à l'aide de Servlets. Ce que je fais, c'est obtenir un objet de messagerie (message) à l'aide du package Javax.mail, puis j'écrise cet objet dans le flux de sortie de réponse HTTP. Le but est que lorsque vous appuyez sur la touche spécifique, l'e-mail sera téléchargé dans un format EML. Donc, jusqu'à ce que cela fonctionne. J'utilise comme nom de fichier le sujet du message. Le problème est que lorsque le sujet du courrier électronique a des caractères tels que "€", le fichier n'est pas téléchargé. Au lieu de cela, un fichier de demande de service est téléchargé. Quelqu'un peut-il m'aider avec ça? P>
3 Réponses :
question est un peu vague mais essayez d'ajouter des en-têtes (réponse.Getheaders ()) comme Charset, codage et langue P>
J'ai mis en œuvre un téléchargement de fichiers EML un jour et le type de contenu à "Application / Mail". Veuillez essayer ceci au lieu de "application / octet-flux". P>
D'accord. Maintenant, je pense que le problème n'est pas vraiment le sujet de votre courrier, mais le nom de fichier de votre fichier EML que vous avez défini sur le sujet. S'il vous plaît essayez-le en changeant le nom de fichier.
Oui, le nom du fichier est le problème. Désolé pour Miss Exprimant. Donc, le sujet est défini comme nom de fichier et lorsque le sujet contient des caractères tels que "€", le fichier n'est pas créé correctement.
Si vous souhaitez utiliser des caractères non-ASCII dans la disposition de contenu, vous devez les coder. Voir RFC 6266, sections 4.3 et 5, pour plus de détails. P>
Je les lis mais je ne suis pas capable de comprendre pleinement ce que je dois faire
Avez-vous regardé les exemples?
Oui je l'ai mis en place. Merci :)
Si vous pouviez fournir un échantillon de code de votre solution, nous pourrions aider davantage.
Si un
/ code> était dans le sujet, il faudrait remplacer cela quand même. Donc, peut-être mieux convertir le nom un peu.
compte.Checkstoreconnected (); Foldercache mcache = compte.getfoldercache (foldername); Message msg = mcache.getmessage (long.parelong (UID)); Sujet de chaîne = msg.getsubject (); String ctype = "Application / Octet-Stream"; réponse.setContenttype (CYPE); réponse.Setheader ("Contenu-disposition", "Inline; nom de fichier = \" "+ sujets +" .em \ ""); Sortie sortie = réponse.getoutoutPutStream (); msg.writeto (out);