Forum İçeriği > Çekirdek Java > Java Mail Turkce Karakter problemi
|
|
ilkay_polat 17 ay önce
Aktivite Puanı: 22
Sanirim ingilizce gondermek en iyi cozum |
|
|
Altuğ Bilgin Altıntaş 17 ay önce
Aktivite Puanı: 144
Krakterlerin UTF-8 olarak gönderdiğinden emin olmalısın
String bodyTR = new String(originalStr.getBytes("ISO8859-1"), "UTF-8");
|
Aktivite Puanı: 22
Bu gun bir mail gonderme kodu yazdim. Ingilizce olarak sorunsuz gonderen kod turkce content geldiginde turkce karakterlerde sorun cikmis olarak gorunuyor. Internet uzerinde pek cok bu soruna iliskin seyleri denedim ama olmadi. Bu konuda yardimci olurmusunuz? Tsk
public void send(String from, String to, String userName, String password) {
String language = FacesContext.getCurrentInstance().getViewRoot().getLocale().toString();
try
{
String hostname = "myappplication@";
try
{
InetAddress addr = InetAddress.getLocalHost();
if(addr != null)
{
hostname += addr.getHostName();
}
}catch(UnknownHostException e)
{
logger.error(e.getMessage(), e);
}
Message message = new MimeMessage(getSession());
message.addRecipient(RecipientType.TO, new InternetAddress(to));
message.addFrom(new InternetAddress[]{new InternetAddress(hostname)});
if(language != null && language.equals("en_US"))
{
message.setSubject(SUBJECT_EN);
}else
{
message.setSubject(SUBJECT_TR);
}
if(language != null && language.equals("en_US"))
{
message.setContent(String.format(BODY_EN, userName, password), "text/html; charset=utf-8");
}else
{
message.setContent(String.format(BODY_TR, userName, password), "text/html; charset=utf-8");
}
Transport.send(message);
logger.info("MailSender.send method executed successfully.");
} catch (MessagingException e) {
logger.error(e.getMessage(), e);
}
}
private Session getSession() {
Properties props = System.getProperties();
props.put("mail.smtp.host", "localhost");
Session session = Session.getDefaultInstance(props, null);
session.setDebug(true);
return session;
}