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
>