Avatar billede macl.dk Nybegynder
17. marts 2004 - 00:27 Der er 1 kommentar

JavaMail mister attach i spam filtre

Hej med jer,

Har et lidt mysisk problem som jeg håber i kunne hjælpe med:
Har lavet en forholdsvis simpel javamail metode sendMailWithAttach (se kode længere nede) som sender en mail og en attached PDF.
Mailen består af plain text, html, et billed samt pdf'en.
Mit problem består i at ca. 10-20% af modtagene får fjernet pdf'en når de modtager mailen. Sandsynligvis af antivirus programmer eller spam filtre.
Hvis jeg efterfølgende sender pdf'en til modtageren via f.eks outlook, så er der selvfølgelig ikke noget problem og det er via samme mailserver ergo må problemet ligge i mit program.

Hvad gør outlook som jeg ikke gør ?

Jeg forsøger at finde ud af hvilken type mailservere der afviser pdf'en men indtil da vil jeg påskønne alt hjælp.

mvh

Anders

Min kode er :

  public void sendMailWithAttach(String host,
                                String from,
                                String to,
                                String subject,
                                String textbody,
                                String fileAttachment)
  throws Exception
  {
   
    Properties props = new Properties();
    props.put("mail.smtp.host", host);
    Session session = Session.getDefaultInstance(props, null);
    Message message = new MimeMessage(session);
   
    //headers
    message.setSubject(subject);
    message.setFrom(new InternetAddress(from));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
   
    //add related mutip-part for root
    MimeMultipart multipartRoot = new MimeMultipart("related");
    MimeBodyPart contentRoot = new MimeBodyPart();
    MimeMultipart multipartAlt = new MimeMultipart("alternative");
   
    //alternative message
    BodyPart messageBodyPart;
    messageBodyPart = new MimeBodyPart();
    String txt = textbody;
    messageBodyPart.setContent(txt,"text/plain");
    multipartAlt.addBodyPart(messageBodyPart);
   
    messageBodyPart = new MimeBodyPart();
    String htmlText = "<img src=\"cid:logo\"><br><br><br><font face=verdana color=black>"+ textbody +"</font>";
    messageBodyPart.setContent(htmlText,"text/html");
    multipartAlt.addBodyPart(messageBodyPart);
   
    //Hierarchy
    contentRoot.setContent(multipartAlt);
    multipartRoot.addBodyPart(contentRoot);
   
    //add a part for the image
    messageBodyPart = new MimeBodyPart();
    DataSource fds = new FileDataSource("d:/images/logo.jpg");
    messageBodyPart.setDataHandler(new DataHandler(fds));
    messageBodyPart.setHeader("Content-ID", "<logo>");
    messageBodyPart.setFileName(fds.getName());
    multipartRoot.addBodyPart(messageBodyPart);
   
   
    //attach a pdf
    messageBodyPart = new MimeBodyPart();
    fds = new FileDataSource(fileAttachment);
    messageBodyPart.setDataHandler(new DataHandler(fds));
    messageBodyPart.setFileName(fds.getName());
    multipartRoot.addBodyPart(messageBodyPart);
   
   
    //add multipart to the message
    message.setContent(multipartRoot);
   
    //send message
    message.setSentDate(new Date());
    Transport.send(message);
  }
Avatar billede macl.dk Nybegynder
17. marts 2004 - 00:34 #1
Glemte at sige at jeg HAR prøvet uden html og billed.... det gav samme resultat
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