On Tuesday 06 of October 2009 12:46:44 Gabriel Gajdos wrote: > Nie je problém v tom, že nepoužívaš Multipart message? Teda ak máš v maili > iba jednu časť, tak tá je zároveň aj jeho jediným telom. > Skúšal si pridať nejaký text (aspoň "posielam subory")?
Vyrabam si mnozinu BodyPart-ov, ktoru nakoniec zlucim do MultiPart a zapisem do outputstreamu. Na tento problem som narazil v uz hotovom kode, ktory realne pouzivam na smime prenos velkych suborov uz nejaky cas. Prejavilo sa to v momente, ked sa subor koncil na .txt. Pozriem sa na tu filetypemap, co pisala Radovana. Diky > GG > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of Dusan Zatkovsky > Sent: Tuesday, October 06, 2009 12:40 PM > To: Java > Subject: Re: JavaMail - MimeBodyPart.attachFile() > > Este ma napadlo - ja by som este teoreticky dokazal prezit, ze sa mi .txt > nacitava do stringu, ale problem bude u velkych suborov, pretoze moj pokus > s > > 2x800MB ascii subormi "foo.txt" a jeho kopiu "foo.bin" dopadol tak, ze > volanie attachFile() (a alternativa s DataSource) pre "foo.bin" trva zlomok > sekundy (vytvori sa len referencia na subor), ale u "foo.txt" to vyzere > pamat > a crashne (nacitava 800MB do stringu). > > > DD. > > > > Diky, ale nepomohlo: > > > > for ( String s : new String[] { "/etc/passwd", "/tmp/passwd.txt" } ) > > { > > > FileDataSource fds = new FileDataSource(new File(s)); > > DataHandler dh=new DataHandler(fds); > > System.out.println(dh.getContentType()); > > } > > > > - java.io.FileInputStream > > - java.lang.String > > > > > Dobry den, > > > > > > skuste attachment pridat cez DataHandler: > > > > > > MimeBodyPart oBody = new MimeBodyPart(); > > > FileDataSource oFds = new FileDataSource("/etc/passwd.txt"); > > > oBody.setDataHandler(new DataHandler(oFds)); > > > oBody.setFileName("passwd.txt"); > > > > > > S pozdravom > > > Radovana Straube > > > > > > --- On Tue, 10/6/09, Dusan Zatkovsky <[email protected]> wrote: > > > > From: Dusan Zatkovsky <[email protected]> > > > > Subject: JavaMail - MimeBodyPart.attachFile() > > > > To: "Java" <[email protected]> > > > > Date: Tuesday, October 6, 2009, 11:57 AM > > > > Ahoj. > > > > > > > > Ma tu niekto skusenosti s JavaMail? Konkretne sa mi jedna o > > > > uvedenu metodu. > > > > > > > > Kod: > > > > > > > > MimeBodyPart part1 = new > > > > MimeBodyPart(); > > > > part1.attachFile( new File ( > > > > "/etc/passwd"); > > > > part1.setFileName("passwd"); > > > > > > > > MimeBodyPart part2 = new > > > > MimeBodyPart(); > > > > part2.attachFile( new File ( > > > > "passwd.txt"); > > > > part2.setFileName("/tmp/passwd.txt"); > > > > > > > > /etc/passwd je ako kazdy vie ascii textovy subor. > > > > passwd.txt je jeho prosta > > > > kopia pod inym nazvom (.txt). > > > > > > > > Nasleduje problem: > > > > > > > > > > > > > > > > System.out.println(part1.getContentType()); > > > > > > > > System.out.println(part1.getContent().getClass()); > > > > > > > > // text/plain, java.io.FileInputStream > > > > > > > > > > > > > > > > System.out.println(part2.getContentType()); > > > > > > > > System.out.println(part2.getContent().getClass()); > > > > > > > > // text/plain, java.lang.String !!! > > > > > > > > Vypada to, ze ten **** nejak heurestikuje podla mena a > > > > obsahu suboru a usudi, > > > > ze textovy subor je mozne ulozit do stringu. To je ale > > > > presne to, co nechcem, > > > > pretoze sa obavam, ze pri dekodovani smime spravy moze > > > > dojst k nejakym > > > > neocakavanym javom ( kodovanie a spol... ). > > > > > > > > Pozeral som sa aj na vysledky pomocou > > > > part.writeTo(System.out), oba su zhodne: > > > > > > > > Content-Disposition: attachment; > > > > filename=passwd > > > > ... obsah suboru > > > > > > > > Content-Disposition: attachment; > > > > filename=passwd.txt > > > > ... obsah suboru > > > > > > > > > > > > Da sa nejak MimeBodyPart donutit, aby attachFile() robil > > > > skutocny attach file? > > > > > > > > > > > > Dik. > > > > > > > > -- > > > > Dusan > > > > > > > > > > > > ... tykajte mi -- Dusan ... tykajte mi
