メールの送信にはJavaMailAPIを使用しました。連絡先フォーミュラを使用して入力を送信しています。入力は特定の電子メールに送信する必要があります。
私はデンマーク人ですが、メールは問題なく送信されます。そのため、件名とメールテキストに「æ」、「ø」、「å」の3つのデンマーク文字が必要です。
したがって、UTF-8文字エンコードを使用してこれらの文字を提供できることを確認しましたが、メールを送信すると、「ã¦」、「ã¸」、「ã¥」の代わりに奇妙な文字しか表示されません。デンマーク語の文字-「æ」、「ø」、「å」。
メールを送信する私の方法は次のようになっています。
public void sendEmail(String name, String fromEmail, String subject, String message) throws AddressException, MessagingException, UnsupportedEncodingException, SendFailedException
{
//Set Mail properties
Properties props = System.getProperties();
props.setProperty("mail.smtp.starttls.enable", "true");
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("my_username", "my_password");
}
});
//Create the email with variable input
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setHeader("Content-Type", "text/plain; charset=UTF-8");
mimeMessage.setFrom(new InternetAddress(fromEmail, name));
mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("my_email"));
mimeMessage.setSubject(subject, "utf-8");
mimeMessage.setContent(message, "text/plain");
//Send the email
Transport.send(mimeMessage);
}
この「エラー」を修正する方法を見つけるのを手伝ってください。