Java mail encoding non english characters

后端 未结 3 364
日久生厌
日久生厌 2020-12-16 22:27

Using the code below i can send an email written in non-english and although the subject appears correctly the body appears as gibberish.
Any ideas?
Thank you

<
相关标签:
3条回答
  • 2020-12-16 22:44

    Try:

    msg.setContent(message, "text/plain; charset=UTF-8");
    

    Edit Changed to text/plain.

    0 讨论(0)
  • 2020-12-16 22:51

    Instead of

    msg.setContent(message, "text/plain");
    

    I would write

    Multipart mp = new MimeMultipart();
    MimeBodyPart mbp = new MimeBodyPart();
    mbp.setContent(message, "text/plain; charset=ISO-8859-7");
    mp.addBodyPart(mbp);
    
    msg.setContent(mp);
    

    I guessed ISO-8859-7 from your name because this charset is for Greek, but maybe you can choose it more properly. Or maybe also UTF-8 works for your case.

    0 讨论(0)
  • 2020-12-16 22:59

    If nothing else helps, try changing an encoding of your source files (including .java files) to UTF8. In Eclipse it is done via Window -> Preferences -> General -> Workspace : Text file encoding I had CP1252 as a default for my text files.

    I am getting my text from .properties files. Changing them to UTF8 didn't help. This is insane, but switching my .java files to UTF8 solved my issue!

    0 讨论(0)
提交回复
热议问题