Avatar billede banielsen Nybegynder
19. oktober 2006 - 21:58 Der er 3 kommentarer og
1 løsning

Mail får ikke vedhæftet fil med

Hej
Jeg har en lidt irriterende fejl, når jeg forsøger at sende en mail fra Java med en vedhæftet fil.
Selve mailen bliv fint sendt og modtaget, men den vedhæftede film kommer ikke med.
Koden følger herunder:
try
            {
                Properties props = System.getProperties();
                props.put("mail.smtp.host",server);

                Session session = Session.getInstance(props, null);
                session.setDebug(false);

                Message message = new MimeMessage(session);

                String filSti = "";
                Multipart mp = new MimeMultipart();
                for(int i=0; i<vedhaeftedeFilerComboBox.getItemCount();i++)
                {
                    MimeBodyPart attachFilePart = new MimeBodyPart();
                    filSti = vedhaeftedeFilerComboBox.getItemAt(i).toString();
                    System.out.println("i: " + i);
                    System.out.println("filSti: " + filSti);
                    FileDataSource fds = new FileDataSource(filSti);

                    attachFilePart.setDataHandler(new DataHandler(fds));
                    attachFilePart.setFileName(fds.getName());
                    mp.addBodyPart(attachFilePart);
                }

                message.setContent(mp);

                String emailAdresse="";
                for(int i=0; i<tilComboBox.getItemCount();i++)
                {
                    emailAdresse = tilComboBox.getItemAt(i).toString();
                      message.addRecipient(Message.RecipientType.TO, new InternetAddress(emailAdresse));
                }

                message.setFrom(new InternetAddress(fraTextField.getText()));
                message.setSubject(emneTextField.getText());
                message.setText(mailTekstTextArea.getText());
                Transport.send(message);
            }
            catch (MessagingException jMmE)
            {
                fejl(30);

                jMmE.printStackTrace();
            }
            catch (Exception ex)
            {
                ex.printStackTrace();
            }

Jeg kan se ud fra mine println's at man kommer ind i løkken og stien til filen er rigtig.

Nogen med nogle gode forslag :-)
Avatar billede arne_v Ekspert
19. oktober 2006 - 22:02 #1
det er ikke en security feature i mail serveren som fjerner attachments ?
Avatar billede banielsen Nybegynder
19. oktober 2006 - 22:20 #2
Det har jeg svært ved at tro. Det er en ganske uskyldig excel (.xls) fil.
Men jeg har alligevel lige prøvet at rode lidt med sikkerhedsindstillinger samt sende til en anden mail. Men det virker desværre stadig ikke.
Avatar billede banielsen Nybegynder
20. oktober 2006 - 00:53 #3
Jeg har nu prøvet at sende en mail fra outlook med en .xls-fil vedhæftet og bagefter en fra mit java program med en vedhæftet .xls-fil. Filen kommer med ved afsendelse fra Outlook men ikke ved afsendelse fra mit program.
Kan det evt. være en jar filer eller noget jeg mangler?
Avatar billede banielsen Nybegynder
20. oktober 2006 - 12:14 #4
Så fandt jeg ud af det.
Linien "message.setContent(mp);" SKAL åbenbart stå efter at modtager-adresser og indholdet er sat.
Jeg flyttede den nederst - lige før "Transport.send(message);" så der kom til at stå:
message.setFrom(new InternetAddress(fraTextField.getText()));
message.setSubject(emneTextField.getText());
message.setText(mailTekstTextArea.getText());
message.setContent(mp);
Transport.send(message);

og så spillede det :-)
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