Nadal mam problem z polskimi znakami w JavaMail, nie wyświetlaja sie ;/ w temacie meila jest ok problem jest z treścią.
Taki o kod:
Pobieranie:
public void receive(String popServer, String popUser, String popPassword)
{
Store store=null;
Folder folder=null;
try
{
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
pop3Props.setProperty("mail.pop3.port", port_pop);
pop3Props.setProperty("mail.pop3.socketFactory.port", port_pop);
pop3Props.setProperty("mail.pop3.charset", "UTF-8" );
URLName url = new URLName(typ_serwera_przychodzacego, serwer_pop, Integer.valueOf(port_pop), "",login, haslo);
Session session = Session.getInstance(pop3Props, null);
store = new POP3SSLStore(session, url);
store.connect();
folder = store.getDefaultFolder();
if (folder == null) throw new Exception("No default folder");
folder = folder.getFolder("INBOX");
if (folder == null) throw new Exception("No POP3 INBOX");
folder.open(Folder.READ_WRITE);
Message[] msgs = folder.getMessages();
for (int msgNum = 0; msgNum < msgs.length; msgNum++)
{
printMessage(msgs[msgNum]);
licznik_meili++;
msgs[msgNum].setFlag(Flags.Flag.DELETED, true);
}
folder.close(true);
} catch (Exception ex) { ex.printStackTrace(); }
finally
{
try {if (store!=null) store.close();}
catch (Exception ex2) {ex2.printStackTrace();}
}
}
Wyświetlanie:
String from=((InternetAddress)message.getFrom()[0]).getPersonal();
if (from==null) from=((InternetAddress)message.getFrom()[0]).getAddress();
String od_kogo_nazwisko=from;
String temat=message.getSubject();
String data_wyslania=String.valueOf(message.getSentDate());
meil=((InternetAddress)message.getFrom()[0]).getAddress().toString();//<- Tutaj pobiera adres
//Wiadomosc w czesciach
Part messagePart=message;
Object content=messagePart.getContent();
if (content instanceof Multipart)
{
messagePart=((Multipart)content).getBodyPart(0);
}
String contentType=messagePart.getContentType();
String zawartosc="";
if (contentType.startsWith("text/plain")||contentType.startsWith("text/html"))
{
InputStream is = messagePart.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
String thisLine=reader.readLine();
while (thisLine!=null)
{
zawartosc=zawartosc+thisLine;
thisLine=reader.readLine();
}
}
System.out.println(zawartosc);
No i w wyniku teść meila czyli zmienna zawartość drukuje sie bez polskich znaków ;/ kombinowałem coś z message.setContent(message,"text/plain; charset=UTF-8"); ale kicha nic mi nie wyszło ;/ Męczę sie z tym juz kilka godzin i brak mi pomysłu i wiedzy jak to pokonać. Prosze o jakąś rade