Avatar billede di8leva Nybegynder
25. juni 2003 - 00:31 Der er 16 kommentarer og
1 løsning

JavaMail ikke samme på Windows og Linux

Hello.

Bruger javamail til at sende ut mail till folk.
Noer jeg tester sitter jeg på en windows-maskin, og bruger en linux-maskin som mailserver (samme maskin som sedan skall avveckla samme kod). Det virker fint, og mitt subject bliver "MyDomain.com - Information till försäljare/forhandler".

Men noer jeg setter samme kod på linux-maskinen, og avvecklar koden der, blivet subject istedet "?ANSI_X3.4-1968?Q?MyDomain.com_-_Informatio?= =?ANSI_X3.4-1968?Q?n_till_f=3Frs=3Fljare/forhandler?="

Nogen der vid hvad jeg laver fejl?

PS. Mail-texten virker, det er kun subject som trasslar. DS.
Avatar billede jakoba Nybegynder
25. juni 2003 - 00:41 #1
i din mail bør du angive hvilket alfabet der benyttes i den mail. Jeg vil nok anbefale unicode. det har næsten alle efterhånden.
Avatar billede jakoba Nybegynder
25. juni 2003 - 00:51 #2
http://www.landfield.com/rfcs/rfc2152.html
Oops, seems that would be UTF-7
Avatar billede di8leva Nybegynder
25. juni 2003 - 01:06 #3
ok, jag bruger just nu:
        Properties props = new Properties();
        props.put("mail.smtp.host", SERVER);

        Session session = Session.getDefaultInstance(props, null);
        session.setDebug(false);
        Message msg = new MimeMessage(session);


jeg har ett MimeMessage
men jeg kan ikke finde ud vilken metode jeg skall bruge for att ändra till UTF-7.

Men smid et svar, så er pointsen dine.

(jeg trodde ikke man kunde få hjälp vid denna tid på dögnet =)  )
Avatar billede jakoba Nybegynder
25. juni 2003 - 01:37 #4
Nar du ikke kan bruge det til noget så har du da heller ikke fået hjælp.

Lad spørgsmålet stå til arne-v eller disky kommer på imorgen. de ved nok hvordan det gøres i java-sammenhæng.

mvh JakobA
Avatar billede arne_v Ekspert
25. juni 2003 - 07:46 #6
Der er desværre masser af ting der kan gå galt.

Men start med:
  msg.setSubject(MimeUtility.encodeText(subj));
Avatar billede arne_v Ekspert
25. juni 2003 - 07:52 #7
Det skulle gerne hjælpe dig af med ? og Q.

Men hvis der stadig er problemr med tegnene skal du sikre dig at
indhold og label er ens m.h.t. ISO-8859-1/UTF-8, hvilket er
et typisk problem når Windows og Linux opfører sig forskelligt.
Avatar billede di8leva Nybegynder
25. juni 2003 - 13:10 #8
Jeg har börjat få lidt styr på tingene nu.
Hvis mit subject ikke inneholder nogle å, ä, ö så virker det. Men hvis det er kun en af dem, så bruger den en anden encoding (måske en der heter "=?ANSI_X3.4-1968?Q?") og alt blir kaiko.

MimeUtility.encodeText(subject) gir samme resultat.

De links som disky smidt in har jeg kigget på, men finder ingenting der kan hjälpa meg.

Nogle fler tips?
Avatar billede arne_v Ekspert
25. juni 2003 - 13:16 #9
Vi skal nok have lidt mere info.

Hvad returnerer:

MimeUtility.encodeText("MyDomain.com - Information till försäljare/forhandler")

?
Avatar billede di8leva Nybegynder
25. juni 2003 - 13:31 #10
Ok... here goes
---------------
String newSub = MimeUtility.encodeText(subject);
if(DEBUG)
  System.out.println(subject + "  ->  " + newSub);
--------------- gir udskrift ---------------------
DatorPriser.com information till f?rs?ljare/forhandler  ->  =?ANSI_X3.4-1968?Q?DatorPriser.com_information?=
=?ANSI_X3.4-1968?Q?_till_f=3Frs=3Fljare/forhandler?=

jeg tror att msg.setSubject(subject) per default selv kaller MimeUtility.encodeText();
Så jeg måste finde vilken character-encoding jeg skall bruge, fördi det ser ikke ud til att vare default.

Kan tilläggas at på min windows-maskin har jag US Locale men på Linux er den (skall vare) SE Locale.
Og selve mailet er i HTML format

msg.setDataHandler(new DataHandler(data, "text/html"));
Avatar billede arne_v Ekspert
25. juni 2003 - 13:47 #11
Kunne du prøve med:

System.setProperty("mail.mime.charset", "ISO-8859-1");

og se om det påvirker konverteringen.
Avatar billede arne_v Ekspert
25. juni 2003 - 13:50 #12
ANSI_X3.4-1968 er iøvrigt US-ASCII, hvilket jo er forkert.
Avatar billede di8leva Nybegynder
25. juni 2003 - 13:59 #13
System.setProperty("mail.mime.charset", "ISO-8859-1"); virker till 80%, men å, ä, ö bliver '?'

MEN, hvis man laver såhär

msg.setSubject(subject, "ISO-8859-1");

så virker allt....

arne... jag tycker att pointsen er dine för det var "ISO-8859-1" der hjälpte mig mest...

smid et svar.
Avatar billede di8leva Nybegynder
06. juli 2003 - 13:28 #14
well, det ser ikke ud til att det händer så meget, så jeg lukker spörgsmålet...
Avatar billede arne_v Ekspert
06. juli 2003 - 15:37 #15
Jeg havde slet ikke set at du efterlyste et svar.

:-(
Avatar billede di8leva Nybegynder
07. juli 2003 - 11:54 #16
Avatar billede arne_v Ekspert
07. juli 2003 - 12:13 #17
Jeg takker mange gange.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester