通过java i发送带有阿拉伯语内容的电子邮件

时间:2010-09-17 16:58:57

标签: java email arabic

我想通过java邮件发送包含阿拉伯语内容的电子邮件, 但邮件中的每个阿拉伯语单词都显示为????????????? , 我怎样才能使编码为utf_8以支持阿拉伯语? 因为我使用该代码

    Message message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
    message.setSubject(subject_a);
    message.setText(messageDetails_a);
    Transport.send(message);

2 个答案:

答案 0 :(得分:4)

您必须创建一个MimeMessage(并将其保留为MimeMessage)并对主题使用setSubject(subject, "UTF-8");方法。

setContent( messageContent, "text/html; charset=utf-8" );将在内容中处理UTF-8。

纯文字:

setText(messageContent, "UTF-8");

资源:

答案 1 :(得分:4)

只需在方法中添加一些字符集信息即可。如果subject或message-body确实包含US-ASCII字符以外的其他字符集,则默认字符集将用于编码。将字符集明确设置为UTF-8始终是安全的:

String charset="UTF-8";
message.setSubject(subject_a,charset);
message.setText(messageDetails_a,charset);