Avatar billede code0.dk Nybegynder
18. juli 2002 - 19:27 Der er 11 kommentarer og
1 løsning

attachment + swing

er der nogen der kan fortælle mig hvordan jeg skal lave attachments når jeg laver et mailprogram i swing??.
Det er her ikke nok at sige at jeg f.eks. skal bruge JFilechooser .)
Hvordan
Avatar billede disky Nybegynder
18. juli 2002 - 19:37 #1
du loader filen ind, encoder den i f.eks. mime64 og attacher det som text korrekt formateret til mailen.
Avatar billede code0.dk Nybegynder
18. juli 2002 - 19:40 #2
eksempel
Avatar billede disky Nybegynder
18. juli 2002 - 21:22 #3
søg på google
Avatar billede disky Nybegynder
18. juli 2002 - 21:22 #4
har ikke et, og har ikke tid til at lave det.
Avatar billede jword Nybegynder
18. juli 2002 - 23:06 #5
Hvis du bruger javamail er det ret simpelt. Hvis ikke, har du brug for en masse tid :) Jeg kan godt provide et eksempel hvis du er interesseret. Men der følger også eksempler med i javamail distributionen.
Avatar billede code0.dk Nybegynder
18. juli 2002 - 23:57 #6
jo jeg bruger JavaMail - og det kunne være fedt med et eksempel, og ja der er en det eksempler på hvordan man attacher hvis man laver det hele tekstbaseret men ikke hvis det skal laves i Swing ?
Men hvis du har et eksempel - så er det kanon
Avatar billede jword Nybegynder
19. juli 2002 - 00:19 #7
Hm. Hvad er det helt præcist du er interesseret i? Det lyder som om du mere mangler noget erfaring med swing end med javamail? Har du nogen guicomponenter allerede?
Avatar billede code0.dk Nybegynder
19. juli 2002 - 10:13 #8
tjoooo - jeg swing sucks - men det er måske bare mig :)
Jeg mangler sådanset bare et eksempel - på hvordan man laver en attachment -et lille eksempel - på hvikle metoder osv. man skal bruge !!
JEg har kigget i JavaMails api - og prøvet mig frem - men synes ikke lige at kunne få det til at virke.
Så jeg har allerede lavet gui'en og metoderne til at sende mail - og det virker - men attachment !!!!!
Avatar billede jword Nybegynder
19. juli 2002 - 11:45 #9
Her er den metode (statisk) jeg bruger til at sende attachments. Jeg er først lige startet med javamail, og den er ikke helt gennemtestet, men har virket ind til nu. Den tager et array af files some argument, og et string array med contenttypes - dem skal du selv bestemme, f.eks. text/plain, text/html ... alt der ikke har en contenttype startende med text bliver sendt som fil (hvilket ikke er helt korrekt).

public static String collect(BufferedReader in)
        throws MessagingException, IOException {
        String line;
        StringBuffer sb = new StringBuffer();
        while ((line = in.readLine()) != null) {
            sb.append(line);
            sb.append("\n");
        }

        return sb.toString();
    }

    /**
    * This method is done for sending messages of contenttype multipart/mixed, for
    * example sending a message which contains an attachment. This method is missing
    * procedures for multiparts bodyparts. That would probably require some object
    * as argument instead of files and contenttypes. Maybe, this method should
    * initiate an messagebuild object, where the SmtpAccount calling this can
    * add bodies. That may sound stupid, ie, then one could just as well make
    * the calling class use javamail directly. But, the adding of bodyparts is
    * not only add(file, contenttype), as one can see below.
        */
    public static void sendMessage(
        Properties props,
        String to,
        String from,
        String sendername,
        String subject,
        String[] contenttypes,
        File[] files) {

        JAuthenticate auth = null;

        if (props.get("mail.smtp.auth") != null) {

            auth =
                new JAuthenticate(
                    (String) props.get("username"),
                    (String) props.get("password"));

        }

        Session session = Session.getDefaultInstance(props, auth);
        session.setDebug(false);

       

        try {

            MimeMessage msg = new MimeMessage(session);

            try {
                msg.setFrom(new InternetAddress(from, sendername));
            } catch (UnsupportedEncodingException f) {
            }

            InternetAddress[] address = { new InternetAddress(to)};
            msg.setRecipients(Message.RecipientType.TO, address);
            msg.setSubject(subject);
            msg.setHeader("X-Mailer", X_MAILER);

            Multipart mp = new MimeMultipart();

            for (int i = 0; i < files.length; i++) {

                MimeBodyPart mbp1 = new MimeBodyPart();

                if (contenttypes[i].indexOf("text") != -1) {

                    System.out.println("textpart, contenttypes[i].indexOf");

                    try {

                        String text1 =
                            collect(
                                new BufferedReader(new FileReader(files[i])));

                        mbp1.setContent(text1, contenttypes[i]);

                    } catch (IOException f) {
                    }

                } else {

                    FileDataSource fds = new FileDataSource(files[i]);
                    mbp1.setDataHandler(new DataHandler(fds));
                    mbp1.setFileName(fds.getName());

                }

                mp.addBodyPart(mbp1);

            }

            msg.setContent(mp);

            msg.setSentDate(new Date());

            Transport.send(msg);

        } catch (MessagingException mex) {
            mex.printStackTrace();
            Exception ex = null;
            if ((ex = mex.getNextException()) != null) {
                ex.printStackTrace();
            }

        }

    }
Avatar billede code0.dk Nybegynder
28. juli 2002 - 21:37 #10
jword vil du have point skal du komme med et svar - jeg har kigget lidt på det, og har fundet noget af dit brugbart. Så det er dig mine point går til
Avatar billede code0.dk Nybegynder
17. august 2002 - 12:45 #11
jword, hvis du ikke inden mandag er kommet med et svar, lukker jeg dette spg, sååååå kom endelig med et svar :)
Avatar billede jword Nybegynder
17. august 2002 - 13:02 #12
okay :) her er et svar
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